共用方式為


列舉已安裝的裝置介面

您無法直接存取登錄機碼來列舉系統中的裝置介面。 如同任何登錄機碼,密鑰的位置、名稱或格式可能會在不同的 Windows 版本之間變更。

使用下列指導方針安全地列舉裝置介面。

使用者模式應用程式應遵循下列步驟:

  • 使用 組態管理員 函式:

    使用 CM_Get_Device_Interface_List 擷取指定 InterfaceClassGuid 中的裝置介面清單。 您可以選擇性地將pDeviceID參數設定為特定裝置的實體識別碼,以將清單限縮為該裝置所公開的裝置介面。

    若要只包含系統中存在的裝置介面(已啟用),請在ulFlags參數中設定CM_GET_DEVICE_INTERFACE_LIST_PRESENT旗標。

  • 使用 SetupApi 函式:

    1. 使用 SetupDiGetClassDevsSetupDiGetClassDevsEx 搭配 Flags 參數中設定的 DIGCF_DEVICEINTERFACE 旗標,擷取指定裝置介面類別的裝置介面。 您可以選擇性地將 Enumerator 參數設定為特定裝置的實例標識碼,以將清單限制為由該裝置公開的裝置介面。

      若要只包含系統中存在的裝置介面(已啟用),請在 Flags 參數中設定DIGCF_PRESENT旗標。

    2. 使用 SetupDiEnumDeviceInterfaces 列舉上述呼叫所傳回的介面。

內核模式驅動程序應該使用 IoGetDeviceInterfaces 來擷取指定 InterfaceClassGuid 中的裝置介面清單。 您可以選擇性地將清單限制為只有特定裝置所公開的裝置介面,方法是設定 PhysicalDeviceObject 參數。