Freigeben über


Zugreifen auf das einheitliche Geräteeigenschaftenmodell

In diesem Thema wird beschrieben, wie ein WDF-Treiber (Windows Driver Frameworks) Eigenschaften abruft oder ändert, die über das einheitliche Geräteeigenschaftenmodell verfügbar gemacht werden. Die aufgeführten Methoden sind ab User-Mode Driver Framework (UMDF) Version 2.0 und Kernel-Mode Driver Framework (KMDF) Version 1.13 verfügbar.

Sowohl KMDF- als auch UMDF-Treiber können die folgenden Methoden aufrufen:

Sowohl KMDF- als auch UMDF-Treiber können die folgenden Methoden nur aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.

Nach dem Aufrufen von WdfDeviceCreate kann ein Treiber Geräteeigenschafteninformationen abrufen, indem er die entsprechende WdfDeviceXxxProperty-Methode aufruft .

Die obigen -Ex-Methoden unterscheiden sich von ihren Nicht-Ex-Entsprechungen darin, dass Sie Eigenschaften mithilfe der WDF_DEVICE_PROPERTY_DATA-Struktur anstelle der Teilmenge angeben können, die Sie mit DEVICE_REGISTRY_PROPERTY angeben können.

Vor dem Empfangen von Geräteeigenschaftendaten rufen Treiber in der Regel WdfXxxQueryProperty auf, um die erforderliche Puffergröße zu erhalten. Bei einigen Eigenschaften kann sich die Datengröße zwischen der Rückgabe der erforderlichen Größe und dem erneuten Aufruf von WdfXxxQueryProperty ändern. Aus diesem Grund sollten Treiber WdfXxxQueryProperty in einer Schleife aufrufen, die ausgeführt wird, bis die rückgabe-status nicht STATUS_BUFFER_TOO_SMALL ist.

Es empfiehlt sich, WdfXxxQueryProperty nur zu verwenden, wenn die erforderliche Puffergröße bekannt und unveränderlich ist, da in diesem Fall der Treiber WdfXxxQueryProperty nur einmal aufrufen muss. Wenn die erforderliche Puffergröße unbekannt ist oder variiert, sollte der Treiber WdfXxxAllocAndQueryProperty aufrufen.

Zugreifen auf Geräteschnittstelleneigenschaften

UMDF-Treiber können die folgenden Methoden verwenden, um Geräteschnittstelleneigenschaften abzurufen oder zu ändern, die über das einheitliche Eigenschaftenmodell verfügbar gemacht werden:

Um eine Geräteschnittstelleneigenschaft abzurufen oder zu ändern, muss ein KMDF-Treiber IoGetDeviceInterfacePropertyData oder IoSetDeviceInterfacePropertyData direkt aufrufen.