Freigeben über


BUS_INTERFACE_REFERENCE Struktur (ks.h)

Ein Softwaregeräte-Enumerator exportiert diese Schnittstelle, damit Treiber auf die Anzahl physischer Geräteobjekte (PDOs) verweisen können, sodass das Gerät während der Verwendung aktiv bleibt und entladen wird, wenn es nicht verwendet wird.

Syntax

typedef struct {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE;

Member

Interface

Gibt die exportierte SCHNITTSTELLE an.

ReferenceDeviceObject

Zeiger auf eine vom Treiber bereitgestellte KStrReferenceDeviceObject-Routine .

DereferenceDeviceObject

Zeiger auf eine vom Treiber bereitgestellte KStrDereferenceDeviceObject-Routine .

QueryReferenceString

Zeiger auf eine vom Treiber bereitgestellte KStrQueryReferenceString-Routine .

Hinweise

Ein Treiber ruft eine BUS_INTERFACE_REFERENCE-Schnittstelle ab, indem er eine IRP_MJ_PNP-Anforderung erstellt und sendet, die einen IRP_MN_QUERY_INTERFACE Nebenfunktionscode angibt. Dazu sollte der Treiber Folgendes tun:

  • Ordnen Sie eine BUS_INTERFACE_REFERENCE Struktur aus dem ausgelagerten Speicherpool zu, und füllen Sie sie mit Null aus.
  • Erstellen Sie eine IRP für die Abfrageschnittstellenanforderung, und rufen Sie den nächsten Stapelspeicherort für die neue IRP ab.
  • Geben Sie an der neuen Stapelposition einen Zeiger auf die neue BUS_INTERFACE_REFERENCE-Struktur im Parameter.QueryInterface.Interface-Element an.
  • Legen Sie eine Vervollständigungsroutine fest, und senden Sie die Anforderung nach unten im Treiberstapel.
  • Wenn Ihre Anforderung erfolgreich ist, füllt das System die BUS_INTERFACE_REFERENCE Struktur aus, auf die von Parameters.QueryInterface.Interface verwiesen wird.

Anforderungen

Anforderung Wert
Header ks.h (einschließlich Ks.h)