USB 驅動程式參考
USB 驅動程式參考技術的概觀。
若要開發 USB 驅動程式參考,您需要下列標頭:
如需這項技術的程式設計指導方針,請參閱:
IOCTLs
IOCTL_GENERICUSBFN_ACTI加值稅E_USB_BUS 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以通知 GenericUSBFn.sys 啟用通用序列匯流排 (USB) 。 啟用之後,匯流排便準備好處理匯流排事件並處理流量。 |
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以註冊通用序列匯流排 (USB) 事件。 |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以在 IN 方向的端點 0 上要求零長度的控制狀態交握。 |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以在 OUT 方向的端點 0 上完成零長度的控制狀態交握。 |
IOCTL_GENERICUSBFN_DEACTI加值稅E_USB_BUS 此 IOCTL 程式碼受到 nevtot 支援。 |
IOCTL_GENERICUSBFN_GET_CLASS_INFO 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以擷取登錄中所設定裝置可用管道的相關資訊。 |
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以擷取登錄中所設定裝置可用管道的相關資訊。 |
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以取得裝置上函式的整個介面描述元集。此 IOCTL 要求不會擷取整個裝置的介面描述元集。通用序列匯流排 (針對裝置上函式設定的 USB) 介面描述元。 |
IOCTL_GENERICUSBFN_GET_PIPE_STATE 此 I/O 控制項程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以取得指定的通用序列匯流排 (USB) 管道的狀態。 |
IOCTL_GENERICUSBFN_REGISTER_USB_STRING 此 I/O 控制項程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以註冊字串描述元。通用序列匯流排 (USB) 字串描述元。 |
IOCTL_GENERICUSBFN_SET_PIPE_STATE 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以設定指定之通用序列匯流排 (USB) 管道的狀態。 |
IOCTL_GENERICUSBFN_TRANSFER_IN 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以在對應至輸入緩衝區中指定管道識別碼的端點發出 IN 方向傳輸。 (IOCTL_GENERICUSBFN_TRANSFER_IN) |
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以在對應至輸入緩衝區中指定管道識別碼的端點發出 IN 方向傳輸。 (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT) |
IOCTL_GENERICUSBFN_TRANSFER_OUT 此 I/O 控制程式碼 (IOCTL) 是由使用者模式服務或應用程式傳送,以在對應至輸入緩衝區中指定管道識別碼的端點上發出 OUT 方向傳輸。 |
IOCTL_GET_HCD_DRIVERKEY_NAME IOCTL_GET_HCD_DRIVERKEY_NAME I/O 控制項要求會擷取 USB 主機控制器驅動程式登錄中的驅動程式金鑰名稱。 |
IOCTL_USB_DIAGNOSTIC_MODE_OFF IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O 控制項已被取代。 請勿使用。 |
IOCTL_USB_DIAGNOSTIC_MODE_ON IOCTL_USB_DIAGNOSTIC_MODE_ON I/O 控制項已被取代。 請勿使用。 |
IOCTL_USB_GET_ROOT_HUB_NAME IOCTL_USB_GET_ROOT_HUB_NAME I/O 控制項要求會與USB_ROOT_HUB_NAME結構搭配使用,以擷取根中樞的符號連結名稱。IOCTL_USB_GET_ROOT_HUB_NAME是使用者模式 I/O 控制要求。 |
IOCTL_USB_USER_REQUEST IOCTL_USB_USER_REQUEST I/O 控制要求可供使用者模式應用程式和核心模式驅動程式使用。 |
列舉
USB_USER_ERROR_CODE USB_USER_ERROR_CODE列舉會列出 USB 使用者模式要求在失敗時報告的錯誤碼。 |
WDMUSB_POWER_STATE WDMUSB_POWER_STATE列舉表示主控制器或根中樞的電源狀態。 |
函式
WinUsb_AbortPipe WinUsb_AbortPipe函式會中止管道的所有擱置傳輸。 這是同步作業。 |
WinUsb_ControlTransfer WinUsb_ControlTransfer函式會透過預設控制端點傳輸控制資料。 |
WinUsb_FlushPipe WinUsb_FlushPipe函式會捨棄管線中快取的任何資料。 這是同步作業。 |
WinUsb_Free WinUsb_Free函式會釋放WinUsb_Initialize配置的所有資源。 這是同步作業。 |
WinUsb_GetAdjustedFrameNumber WinUsb_GetAdjustedFrameNumber函式會根據畫面格編號值和時間戳記,計算目前 USB 幀號碼應該是什麼。 |
WinUsb_GetAssociatedInterface WinUsb_GetAssociatedInterface函式會擷取相關聯介面的控制碼。 這是同步作業。 |
WinUsb_GetCurrentAlternateSetting WinUsb_GetCurrentAlternateSetting函式會取得介面的目前替代介面設定。 這是同步作業。 |
WinUsb_GetCurrentFrameNumber WinUsb_GetCurrentFrameNumber函式會取得匯流排目前的框架編號。 |
WinUsb_GetCurrentFrameNumberAndQpc WinUsb_GetCurrentFrameNumberAndQpc函式會擷取系統查詢效能計數器, (QPC) 值與框架和微框架同步。 |
WinUsb_GetDescriptor WinUsb_GetDescriptor函式會傳回要求的描述元。 這是同步作業。 |
WinUsb_GetOverlappedResult WinUsb_GetOverlappedResult函式會擷取指定檔案上重迭作業的結果。 |
WinUsb_GetPipePolicy WinUsb_GetPipePolicy函式會擷取與裝置上端點相關聯之特定管道的原則。 這是同步作業。 |
WinUsb_GetPowerPolicy WinUsb_GetPowerPolicy函式會擷取裝置的電源原則。 這是同步作業。 |
WinUsb_Initialize WinUsb_Initialize函式會為檔案控制代碼所指定的裝置建立 WinUSB 控制碼。 |
WinUsb_QueryDeviceInformation WinUsb_QueryDeviceInformation函式會取得與 WinUSB 介面控制碼相關聯之實體裝置的相關資訊。 |
WinUsb_QueryInterfaceSettings WinUsb_QueryInterfaceSettings函式會擷取特定介面控制碼之指定替代介面設定的介面描述項。 |
WinUsb_QueryPipe WinUsb_QueryPipe函式會擷取指定端點和介面相關管道的相關資訊。 |
WinUsb_QueryPipeEx WinUsb_QueryPipeEx函式會擷取指定端點和介面相關管道的擴充資訊。 |
WinUsb_ReadIsochPipe WinUsb_ReadIsochPipe函式會從時序 OUT 端點讀取資料。 |
WinUsb_ReadIsochPipeAsap WinUsb_ReadIsochPipeAsap函式會提交從連續 OUT 端點讀取資料的要求。 |
WinUsb_ReadPipe WinUsb_ReadPipe函式會從指定的管道讀取資料。 |
WinUsb_RegisterIsochBuffer WinUsb_RegisterIsochBuffer函式會註冊要用於等時傳輸的緩衝區。 |
WinUsb_ResetPipe WinUsb_ResetPipe函式會重設資料切換,並清除管道上的停止條件。 |
WinUsb_SetCurrentAlternateSetting WinUsb_SetCurrentAlternateSetting函式會設定介面的替代設定。 |
WinUsb_SetPipePolicy WinUsb_SetPipePolicy函式會設定與裝置上端點相關聯之特定管道的原則。 這是同步作業。 |
WinUsb_SetPowerPolicy WinUsb_SetPowerPolicy函式會設定裝置的電源原則。 |
WinUsb_StartTrackingForTimeSync WinUsb_StartTrackingForTimeSync函式會啟動 USB 驅動程式堆疊中的時間同步處理功能,以取得 USB 匯流排畫面和微框架的相關系統 QPC 時間。 |
WinUsb_StopTrackingForTimeSync WinUsb_StopTrackingForTimeSync函式會將時間同步處理功能放在 USB 驅動程式堆疊中,以取得 USB 匯流排畫面和微框架的相關系統 QPC 時間。 |
WinUsb_UnregisterIsochBuffer WinUsb_UnregisterIsochBuffer函式會釋放配置給連續傳輸WinUsb_RegisterIsochBuffer的所有資源。 這是同步作業。 |
WinUsb_WriteIsochPipe WinUsb_WriteIsochPipe函式會從指定的框架編號開始,將呼叫端提供的緩衝區內容寫入到等時序 OUT 端點。 |
WinUsb_WriteIsochPipeAsap WinUsb_WriteIsochPipeAsap會提交要求,以將緩衝區的內容寫入到不連續的 OUT 端點。 |
WinUsb_WritePipe WinUsb_WritePipe函式會將資料寫入管道。 |
結構
USB_BANDWIDTH_INFO USB_BANDWIDTH_INFO結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取所配置頻寬的相關資訊。 |
USB_BUS_STATISTICS_0 USB_BUS_STATISTICS_0結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取匯流排統計資料。 |
USB_CLOSE_RAW_DEVICE_PARAMETERS 不支援此結構。 USB_CLOSE_RAW_DEVICE_PARAMETERS結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以關閉匯流排上裝置的原始存取權。 |
USB_CONTROLLER_INFO_0 USB_CONTROLLER_INFO_0結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取 USB 主機控制器的相關資訊。 |
USB_DRIVER_VERSION_PARAMETERS USB_DRIVER_VERSION_PARAMETERS結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取版本資訊。 |
USB_PASS_THRU_PARAMETERS USB_PASS_THRU_PARAMETERS結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以將廠商特定的命令傳遞至主機控制器迷你埠驅動程式。 |
USB_POWER_INFO USB_POWER_INFO結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取主機控制器電源原則針對指定的系統電源狀態所指定的裝置電源狀態。 |
USB_UNICODE_NAME USB_UNICODE_NAME 結構包含指定符號連結名稱的 Unicode 字串。 |
USBUSER_BANDWIDTH_INFO_REQUEST USBUSER_BANDWIDTH_INFO_REQUEST結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取所配置頻寬的相關資訊。 |
USBUSER_BUS_STATISTICS_0_REQUEST USBUSER_BUS_STATISTICS_0_REQUEST結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取匯流排統計資料。 |
USBUSER_CONTROLLER_UNICODE_NAME USBUSER_CONTROLLER_UNICODE_NAME 結構會與IOCTL_USB_USER_REQUEST I/O 控制項要求搭配使用,以擷取 USB 主機控制器驅動程式機碼名稱。 |
USBUSER_GET_DRIVER_VERSION USBUSER_GET_DRIVER_VERSION 結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以讀取驅動程式和介面版本資訊。 |
USBUSER_PASS_THRU_REQUEST USBUSER_PASS_THRU_REQUEST結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以將廠商特定的命令傳送至主機控制器迷你埠驅動程式。 |
USBUSER_POWER_INFO_REQUEST USBUSER_POWER_INFO_REQUEST結構會與IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以擷取有關特定系統狀態與主機控制器和根中樞電源狀態關聯性的電源原則資訊。 |
USBUSER_REQUEST_HEADER USBUSER_REQUEST_HEADER結構會與 IOCTL_USB_USER_REQUEST I/O 控制要求搭配使用,以將使用者模式要求傳送至 USB 主機控制器驅動程式。 |
WINUSB_PIPE_INFORMATION WINUSB_PIPE_INFORMATION 結構包含管線資訊,WinUsb_QueryPipe常式擷取。 |
WINUSB_PIPE_INFORMATION_EX WINUSB_PIPE_INFORMATION_EX 結構包含管線資訊,WinUsb_QueryPipeEx常式擷取。 |
WINUSB_SETUP_PACKET WINUSB_SETUP_PACKET結構描述 USB 設定封包。 |