(okwary) 小叹的学习园地

与天斗?不够高~ 与地斗?不够阔 与人斗? 脸皮不够厚

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。
    GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
    在计算机领域有很多东西需要不重复的唯一标识的东西,例如设备的类型,类,接口标识,目录名等等。这是个天文数字,我记得是有工具能自动生成这个GUID码的,反正不同地点,不同时间,生成相同的GUID的可能性很小很小很小,小到什么程度,没查过,基本上可以认为是不可能生成相同的GUID值的。

 

BOOL DeviceIoControl(
  HANDLE hDevice,             // handle to device of interest
  DWORD dwIoControlCode,       // control code of operation to perform
  LPVOID lpInBuffer,          // pointer to buffer to supply input data
  DWORD nInBufferSize,        // size, in bytes, of input buffer
  LPVOID lpOutBuffer,         // pointer to buffer to receive output data
  DWORD nOutBufferSize,       // size, in bytes, of output buffer
  LPDWORD lpBytesReturned,    // pointer to variable to receive byte count   LPOVERLAPPED lpOverlapped     // pointer to structure for asynchronous operation
);//  这个函数是对指定的设备驱动发送控制码,导致设备响应来完成指定的操作。

    DeviceToControl()函数是一个通用函数,从微软的解释中我们就可以看到,它对设备的操作是取决于你发什么样的控制码。

 - URB_FUNCTION_SELECT_CONFIGURATION
- URB_FUNCTION_SELECT_INTERFACE
- URB_FUNCTION_ABORT_PIPE
- URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL
- URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL
- URB_FUNCTION_GET_FRAME_LENGTH
- URB_FUNCTION_SET_FRAME_LENGTH
- URB_FUNCTION_GET_CURRENT_FRAME_NUMBER
- URB_FUNCTION_CONTROL_TRANSFER
- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
- URB_FUNCTION_ISOCH_TRANSFER
- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE
- URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE
- URB_FUNCTION_SET_FEATURE_TO_DEVICE
- URB_FUNCTION_SET_FEATURE_TO_INTERFACE
- URB_FUNCTION_SET_FEATURE_TO_ENDPOINT
- URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE
- URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE
- URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT
- URB_FUNCTION_GET_STATUS_FROM_DEVICE
- URB_FUNCTION_GET_STATUS_FROM_INTERFACE
- URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
- URB_FUNCTION_VENDOR_DEVICE
- URB_FUNCTION_VENDOR_INTERFACE
- URB_FUNCTION_VENDOR_ENDPOINT
- URB_FUNCTION_CLASS_DEVICE
- URB_FUNCTION_CLASS_INTERFACE
- URB_FUNCTION_CLASS_ENDPOINT
- URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL
- URB_FUNCTION_CLASS_OTHER
- URB_FUNCTION_VENDOR_OTHER
- URB_FUNCTION_GET_STATUS_FROM_OTHER
- URB_FUNCTION_CLEAR_FEATURE_TO_OTHER
- URB_FUNCTION_SET_FEATURE_TO_OTHER
- URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT
- URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT
- URB_FUNCTION_GET_CONFIGURATION
- URB_FUNCTION_GET_INTERFACE
- URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE
- URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE
- URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR
- URB_FUNCTION_SYNC_RESET_PIPE
- URB_FUNCTION_SYNC_CLEAR_STALL
- Capture almost all types of Kernel-Mode I/O Requests.
- IOCTL_INTERNAL_USB_GET_PORT_STATUS
- IOCTL_INTERNAL_USB_ENABLE_PORT
- IOCTL_INTERNAL_USB_RESET_PORT
- IOCTL_INTERNAL_USB_CYCLE_PORT
- IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE
- IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
- IOCTL_INTERNAL_USB_GET_HUB_COUNT
- IOCTL_INTERNAL_USB_GET_HUB_NAME
- IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
- IOCTL_INTERNAL_USB_GET_BUS_INFO
- IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION
- Capture almost all types of User-Mode I/O Requests to USB Host Controller and USB Hub.
- IOCTL_USB_GET_ROOT_HUB_NAME
- IOCTL_GET_HCD_DRIVERKEY_NAME
- IOCTL_USB_HCD_DISABLE_PORT
- IOCTL_USB_HCD_ENABLE_PORT
- IOCTL_USB_HCD_GET_STATS_1
- IOCTL_USB_HCD_GET_STATS_2
- IOCTL_USB_DIAGNOSTIC_MODE_ON
- IOCTL_USB_DIAGNOSTIC_MODE_OFF
- IOCTL_USB_DIAG_IGNORE_HUBS_ON
- IOCTL_USB_DIAG_IGNORE_HUBS_OFF
- IOCTL_USB_GET_NODE_INFORMATION
- IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
- IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
- IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES
- IOCTL_USB_GET_NODE_CONNECTION_NAME
- IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
- IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
- IOCTL_USB_GET_HUB_CAPABILITIES
- IOCTL_USB_HUB_CYCLE_PORT
- Capture state transition PnP IRPs.
- IRP_MN_START_DEVICE
- IRP_MN_QUERY_REMOVE_DEVICE
- IRP_MN_REMOVE_DEVICE
- IRP_MN_CANCEL_REMOVE_DEVICE
- IRP_MN_STOP_DEVICE
- IRP_MN_QUERY_STOP_DEVICE
- IRP_MN_CANCEL_STOP_DEVICE
- IRP_MN_SURPRISE_REMOVAL

 

posted on 2010-01-15 12:27  okwary  阅读(1406)  评论(0编辑  收藏  举报
ggg