尋找並開啟 HID 集合
本文說明使用者模式應用程式和內核模式驅動程式如何尋找並開啟最上層 HID 集合。
使用者模式應用程式
Microsoft Windows 提供裝置安裝例程(SetupDiXxx 函式)來尋找及識別 HIDClass 裝置。 Windows 提供其他 Win32 函式,以初始化並連線到 HID 集合。
載入使用者模式應用程式之後,它會執行下列作業順序:
呼叫 HidD_GetHidGuid ,以取得 HIDClass 裝置的系統定義 GUID。
呼叫 SetupDiGetClassDevs ,以取得不透明裝置資訊集的句柄,此資訊集描述系統中所有 目前安裝之 HID 集合 所支援的裝置介面。 應用程式應該在傳遞至 SetupDiGetClassDevs 的 Flags 參數中指定DIGCF_PRESENT和DIGCF_DEVICEINTERFACE。
重複呼叫 SetupDiEnumDeviceInterfaces 來擷取所有可用的介面資訊。
呼叫 SetupDiGetDeviceInterfaceDetail ,將每個集合的介面資訊格式化為SP_INTERFACE_DEVICE_DETAIL_DATA結構。 此結構的 DevicePath 成員包含應用程式搭配 Win32 函式 CreateFile 使用的使用者模式名稱,以取得 HID 集合的檔案句柄。
呼叫 CreateFile 以取得 HID 集合的檔案句柄。
內核模式驅動程式
如果內核模式驅動程式是函式或篩選驅動程式,它會將裝置物件附加至 HID 集合的裝置堆疊。 驅動程式只能使用建立要求來開啟裝置。
如果驅動程式不是函式或篩選驅動程式,通常會使用 隨插即用 通知來尋找集合。 驅動程式找到集合之後,它會使用建立要求來開啟集合。