$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
Sample KMDF Function Driver for OSR USB-FX2
DriverEntry (driver.c)
- IoGetActivityIdIrp のアドレス取得
- IoSetDeviceInterfacePropertyData のアドレス取得
- EventRegisterOSRUSBFX2
-
- WDF_DRIVER_CONFIG_INIT (OsrFxEvtDeviceAdd)
- WDF_OBJECT_ATTRIBUTES_INIT
- EvtCleanupCallback: OsrFxEvtDriverContextCleanup を設定
- WdfDriverCreate
OsrFxEvtDriverContextCleanup (driver.c)
- EventUnregisterOSRUSBFX2
- McGenEventUnregister
OsrFxEvtDeviceAdd (device.c)
-
- WDF_PNPPOWER_EVENT_CALLBACKS_INIT
- EvtDevicePrepareHardware: OsrFxEvtDevicePrepareHardware
- EvtDeviceD0Entry: OsrFxEvtDeviceD0Entry
- EvtDeviceD0Exit: OsrFxEvtDeviceD0Exit
- EvtDeviceSelfManagedIoFlush: OsrFxEvtDeviceSelfManagedIoFlush
- WdfDeviceInitSetPnpPowerEventCallbacks (pnpPowerCallbacks)
- WdfDeviceInitSetIoType
- WdfDeviceCreate
-
- WDF_DEVICE_PNP_CAPABILITIES_INIT (pnpCaps)
- pnpCaps.SurpriseRemovalOK: WdfTrue
- WdfDeviceSetPnpCapabilities(pnpCaps)
-
- WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE
- EvtIoDeviceControl: OsrFxEvtIoDeviceControl
- WdfIoQueueCreate
-
- WDF_IO_QUEUE_CONFIG_INIT (WdfIoQueueDispatchSequential)
- EvtIoRead: OsrFxEvtIoRead
- EvtIoStop: OsrFxEvtIoStop
- WdfIoQueueCreate
- WdfDeviceConfigureRequestDispatching (WdfRequestTypeRead)
-
- WDF_IO_QUEUE_CONFIG_INIT (WdfIoQueueDispatchSequential)li>
- EvtIoRead: OsrFxEvtIoRead
- EvtIoStop: OsrFxEvtIoStop
- WdfIoQueueCreate
- WdfDeviceConfigureRequestDispatching (WdfRequestTypeWrite)
-
- WDF_IO_QUEUE_CONFIG_INIT (WdfIoQueueDispatchManual)
- PowerManaged: WdfFalse
- WdfIoQueueCreate
- WdfDeviceCreateDeviceInterface (GUID_DEVINTERFACE_OSRUSBFX2)
-
- WDF_OBJECT_ATTRIBUTES_INIT
- ParentObject: device
- WdfWaitLockCreate
- WdfIoQueueCreate
- WdfStringCreate
- WdfDeviceRetrieveDeviceInterfaceString
- WdfStringGetUnicodeString
- IoSetDeviceInterfacePropertyData
- WdfObjectDelete
OsrFxEvtDriverContextCleanup (driver.c)
- EventUnregisterOSRUSBFX2
-
- McGenEventUnregister
OsrFxEvtIoStop (bulkrwr.c)
OsrFxEvtIoRead (bulkrwr.c)
- EventWriteReadStart (WdfIoQueueGetDevice)
- GetDeviceContext (WdfIoQueueGetDevice)
- WdfRequestRetrieveOutputMemory
- WdfUsbTargetPipeFormatRequestForRead
- WdfRequestSetCompletionRoutine (EvtRequestReadCompletionRoutine)
- WdfRequestSend (WdfUsbTargetPipeGetIoTarget)
OsrFxEvtIoWrite (bulkrwr.c)
- RequestToActivityId
- EventWriteWriteStart (WdfIoQueueGetDevice)
- GetDeviceContext (WdfIoQueueGetDevice)
- WdfRequestRetrieveInputMemory
- WdfUsbTargetPipeFormatRequestForWrite
- WdfRequestSetCompletionRoutine (EvtRequestWriteCompletionRoutine)
- WdfRequestSend (WdfUsbTargetPipeGetIoTarget)
OsrFxEvtDeviceD0Entry (device.c)
- GetDeviceContext
- OsrFxSetPowerPolicy
- WdfIoTargetStart (WdfUsbTargetPipeGetIoTarget(InterruptPipe) )
OsrFxEvtDeviceD0Exit (device.c)
- GetDeviceContext
- WdfIoTargetStop (WdfUsbTargetPipeGetIoTarget(InterruptPipe), WdfIoTargetCancelSentIo)
OsrFxEvtDevicePrepareHardware (device.c)
- GetDeviceContext (WdfIoQueueGetDevice)
-
- WDF_USB_DEVICE_CREATE_CONFIG_INIT (USBD_CLIENT_CONTRACT_VERSION_602)
- WdfUsbTargetDeviceCreateWithParameters
-
-
- WDF_USB_DEVICE_INFORMATION_INIT
- WdfUsbTargetDeviceRetrieveInformation
- SelectInterfaces
-
- OsrFxSetPowerPolicy
- OsrFxConfigContReaderForInterruptEndPoint
OsrFxSetPowerPolicy (device.c)
-
- WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT (IdleUsbSelectiveSuspend)
- IdleTimeout: 10000
- WdfDeviceAssignS0IdleSettings
-
- WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT
- WdfDeviceAssignSxWakeSettings
-
- WDF_USB_DEVICE_INFORMATION_INIT
- WdfUsbTargetDeviceRetrieveInformation
- SelectInterfaces
- OsrFxSetPowerPolicy
- OsrFxConfigContReaderForInterruptEndPoint
SelectInterfaces (device.c)
- GetDeviceContext (WdfIoQueueGetDevice)
-
- WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE
- WdfUsbTargetDeviceSelectConfig
-
- DeviceToActivityId
- EventWriteSelectConfigFailure
-
- WDF_USB_PIPE_INFORMATION_INIT
- WdfUsbInterfaceGetConfiguredPipe
- UsbTargetPipeSetNoMaximumPacketSizeCheck
OsrFxEvtIoDeviceControl (ioctl.c)
-
IOCTL_OSRUSBFX2_GET_CONFIG_DESCRIPTOR
- WdfUsbTargetDeviceRetrieveConfigDescriptor
- WdfRequestRetrieveOutputBuffer
- WdfUsbTargetDeviceRetrieveConfigDescriptor
-
IOCTL_OSRUSBFX2_RESET_DEVICE
- ResetDevice
-
IOCTL_OSRUSBFX2_REENUMERATE_DEVICE
- ReenumerateDevice
-
IOCTL_OSRUSBFX2_GET_BAR_GRAPH_DISPLAY
- WdfRequestRetrieveOutputBuffer
- GetBarGraphState
-
IOCTL_OSRUSBFX2_SET_BAR_GRAPH_DISPLAY
- WdfRequestRetrieveInputBuffer
- SetBarGraphState
-
IOCTL_OSRUSBFX2_GET_7_SEGMENT_DISPLAY
- WdfRequestRetrieveOutputBuffer
- GetSevenSegmentState
-
IOCTL_OSRUSBFX2_SET_7_SEGMENT_DISPLAY
- WdfRequestRetrieveInputBuffer
- SetSevenSegmentState
-
IOCTL_OSRUSBFX2_READ_SWITCHES
- WdfRequestRetrieveOutputBuffer
- GetSwitchState
-
IOCTL_OSRUSBFX2_GET_INTERRUPT_MESSAGE
- WdfRequestForwardToIoQueue
ResetPipe (ioctl.c)
-
- WdfUsbTargetPipeResetSynchronously
StopAllPipes (ioctl.c)
-
- WdfIoTargetStop (WdfUsbTargetPipeGetIoTarget(InterruptPipe) )
- WdfIoTargetStop (WdfUsbTargetPipeGetIoTarget(BulkReadPipe ) )
- WdfIoTargetStop (WdfUsbTargetPipeGetIoTarget(BulkWritePipe) )
StartAllPipes (ioctl.c)
-
- WdfIoTargetStart (WdfUsbTargetPipeGetIoTarget(InterruptPipe) )
- WdfIoTargetStart (WdfUsbTargetPipeGetIoTarget(BulkReadPipe ) )
- WdfIoTargetStart (WdfUsbTargetPipeGetIoTarget(BulkWritePipe) )
ReenumerateDevice (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WdfUsbTargetDeviceSendControlTransferSynchronously
- DeviceToActivityId
- EventWriteDeviceReenumerated
GetSevenSegmentState (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WDF_MEMORY_DESCRIPTOR_INIT_BUFFER
- WdfUsbTargetDeviceSendControlTransferSynchronously
SetSevenSegmentState (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WDF_MEMORY_DESCRIPTOR_INIT_BUFFER
- WdfUsbTargetDeviceSendControlTransferSynchronously
GetSwitchState (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WDF_MEMORY_DESCRIPTOR_INIT_BUFFER
- WdfUsbTargetDeviceSendControlTransferSynchronously
OsrUsbIoctlGetInterruptMessage (ioctl.c)
-
- GetDeviceContext
- WdfIoQueueRetrieveNextRequest
- WdfRequestRetrieveOutputBuffer
- WdfRequestCompleteWithInformation
SetBarGraphState (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WDF_MEMORY_DESCRIPTOR_INIT_BUFFER
- WdfUsbTargetDeviceSendControlTransferSynchronously
GetBarGraphState (ioctl.c)
-
- WDF_REQUEST_SEND_OPTIONS_INIT
- WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT
- WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR
- WDF_MEMORY_DESCRIPTOR_INIT_BUFFER
- WdfUsbTargetDeviceSendControlTransferSynchronously
OsrFxEvtUsbInterruptPipeReadComplete (ioctl.c)
-
- WdfObjectContextGetObject
- WdfMemoryGetBuffer
- OsrUsbIoctlGetInterruptMessage
OsrFxConfigContReaderForInterruptEndPoint (ioctl.c)
-
- WDF_USB_CONTINUOUS_READER_CONFIG_INIT
- EvtUsbTargetPipeReadersFailed: OsrFxEvtUsbInterruptReadersFailed
- WdfUsbTargetPipeConfigContinuousReader
OsrFxEvtUsbInterruptReadersFailed (ioctl.c)
-
- WdfIoTargetGetDevice(WdfUsbTargetPipeGetIoTarget)
- GetDeviceContext
- OsrUsbIoctlGetInterruptMessage
OsrFxEvtUsbInterruptPipeReadComplete (ioctl.c)
-
- WdfObjectContextGetObject
- WdfMemoryGetBuffer
- OsrUsbIoctlGetInterruptMessage