共用方式為


WinUsb_GetAssociatedInterface函式 (winusb.h)

WinUsb_GetAssociatedInterface函式會擷取相關聯介面的句柄。 這是同步作業。

語法

BOOL WinUsb_GetAssociatedInterface(
  [in]  WINUSB_INTERFACE_HANDLE  InterfaceHandle,
  [in]  UCHAR                    AssociatedInterfaceIndex,
  [out] PWINUSB_INTERFACE_HANDLE AssociatedInterfaceHandle
);

參數

[in] InterfaceHandle

裝置上第一個 (預設) 介面的不透明句柄,由 WinUsb_Initialize 傳回。

[in] AssociatedInterfaceIndex

索引,指定要擷取的相關聯介面。 值為 0 表示第一個相關聯的介面,值為 1 表示第二個相關聯的介面,依此類錯。

[out] AssociatedInterfaceHandle

相關聯介面的句柄。 呼叫端必須將此介面句柄傳遞至由 Winusb.dll 公開的 WinUSB 函 式。 若要關閉此句柄,請呼叫 WinUsb_Free

傳回值

如果 作業成功,WinUsb_GetAssociatedInterface會傳回 TRUE 。 否則,這個例程會傳回 FALSE,而且呼叫端可以呼叫 GetLastError 來擷取記錄的錯誤。

傳回碼 Description
ERROR_ALREADY_EXISTS

WinUsb_GetAssociatedInterface 已傳回 AssociatedInterfaceIndex 所指定介面的句柄。

ERROR_INVALID_HANDLE
呼叫端在 InterfaceHandle 參數中傳遞 NULL
ERROR_INVALID_PARAMETER
傳遞的 AssociatedInterfaceIndex 值失敗了整數溢位檢查。
ERROR_NO_MORE_ITEMS
指定的 AssociatedInterfaceIndex 值不存在介面
ERROR_NOT_ENOUGH_MEMORY
表示記憶體不足,無法執行作業。

備註

WinUsb_GetAssociatedInterface例程會擷取不透明句柄。

第一個相關聯的介面是緊接在處理WinUsb_Initialize例程取之介面之後的介面。

WinUsb_GetAssociatedInterface傳回的句柄必須藉由呼叫 WinUsb_Free 來釋放。

WinUsb_GetAssociatedInterface呼叫端只能擷取每個介面的一個句柄。 如果呼叫端嘗試擷取相同介面的多個句柄,例程將會失敗,並出現錯誤ERROR_ALREADY_EXISTS。

規格需求

需求
目標平台 Universal
標頭 winusb.h (包含 Winusb.h)
程式庫 Winusb.lib
Dll Winusb.dll

另請參閱

WinUSB

WinUSB 函式

WinUsb_Initialize