Sdílet prostřednictvím


Výčet nainstalovaných rozhraní zařízení

Nesmíte v systému vytvářet výčet rozhraní zařízení přímým přístupem ke klíčům registru. Stejně jako u jakéhokoli klíče registru se umístění, název nebo formát klíče můžou měnit mezi různými verzemi Windows.

K bezpečnému vytvoření výčtu rozhraní zařízení použijte následující pokyny.

Aplikace v uživatelském režimu by měly postupovat takto:

  • Použití funkcí configuration manageru:

    Načtěte seznam rozhraní zařízení ve specifikované InterfaceClassGuid pomocí CM_Get_Device_Interface_List. Volitelně můžete seznam omezit jenom na rozhraní zařízení vystavená konkrétním zařízením nastavením parametru pDeviceID na konkrétní identifikátor instance zařízení.

    Chcete-li zahrnout pouze rozhraní zařízení, která jsou přítomna (povolena) v systému, nastavte příznak CM_GET_DEVICE_INTERFACE_LIST_PRESENT v parametru ulFlags .

  • Použití funkcí SetupApi :

    1. Použijte SetupDiGetClassDevs nebo SetupDiGetClassDevsEx s příznakem DIGCF_DEVICEINTERFACE nastaveným v parametru Flags k načtení rozhraní zařízení pro zadanou třídu rozhraní zařízení. Volitelně můžete seznam omezit jenom na rozhraní zařízení vystavená konkrétním zařízením nastavením parametru Enumerator na konkrétní identifikátor instance zařízení.

      Pokud chcete zahrnout pouze rozhraní zařízení, která jsou v systému (povolená), nastavte příznak DIGCF_PRESENT v parametru Flags .

    2. Pomocí SetupDiEnumDeviceInterfaces můžete vytvořit výčet rozhraní vrácených výše uvedenými voláními.

Ovladače v režimu jádra by měly použít IoGetDeviceInterfaces k načtení seznamu rozhraní zařízení v zadané třídy InterfaceClassGuid. Volitelně můžete seznam omezit jenom na rozhraní zařízení vystavená konkrétním zařízením nastavením parametru PhysicalDeviceObject .