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) |