Telepített eszközinterfészek számbavétele

A registrykulcsokhoz való közvetlen hozzáféréssel nem szabad számba venni a rendszer eszközinterfészeit. A beállításkulcshoz hasonlóan a kulcs helye, neve vagy formátuma is változhat a Windows különböző verziói között.

Az eszközinterfészek biztonságos számbavételéhez kövesse az alábbi irányelveket.

A felhasználói módú alkalmazásoknak az alábbi lépéseket kell követniük:

  • Configuration Manager függvények használata:

    A CM_Get_Device_Interface_List használatával lekérheti a megadott InterfaceClassGuid eszközinterfészeinek listáját. Ha a pDeviceID paramétert egy adott eszközpéldány-azonosítóra állítja, opcionálisan csak az adott eszköz által közzétett eszközinterfészekre korlátozhatja a listát.

    Ha csak a rendszerben található (engedélyezett) eszközinterfészeket szeretné belefoglalni, állítsa be a CM_GET_DEVICE_INTERFACE_LIST_PRESENT jelzőt a ulFlags paraméterben.

  • A SetupApi függvények használata:

    1. A SetupDiGetClassDevs vagy a SetupDiGetClassDevsEx használatával kérje le a megadott eszközfelület-osztály eszközfelületeit a Flags paraméterben beállított DIGCF_DEVICEINTERFACE jelzővel. Ha az Enumerator paramétert egy adott eszközpéldány-azonosítóra állítja, a listát tetszés szerint csak az adott eszköz által közzétett eszközinterfészekre korlátozhatja.

      Ha csak a rendszerben található (engedélyezett) eszközinterfészeket szeretné használni, állítsa be a DIGCF_PRESENT jelzőt a Flags paraméterben.

    2. A SetupDiEnumDeviceInterfaces használja a fenti hívások által visszaadott interfészek felsorolásához.

A kernel módú illesztőprogramoknak az IoGetDeviceInterfaces használatával kell lekérni a megadott InterfaceClassGuid eszközinterfészek listáját. A PhysicalDeviceObject paraméter beállításával opcionálisan csak az adott eszköz által közzétett eszközinterfészekre korlátozhatja a listát.