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;
Angehörige
Interface
Gibt die exportierte INTERFACE-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.
Bemerkungen
Ein Treiber ruft eine BUS_INTERFACE_REFERENCE Schnittstelle ab, indem eine IRP_MJ_PNP Anforderung erstellt und gesendet wird, die einen IRP_MN_QUERY_INTERFACE Hilfsfunktionscode angibt. Dazu sollte der Treiber folgendes tun:
- Ordnen Sie eine BUS_INTERFACE_REFERENCE Struktur aus dem ausgelagerten Speicherpool zu, und füllen Sie diese aus.
- Erstellen Sie einen IRP für die Abfrageschnittstellenanforderung, und rufen Sie den nächsten Stapelspeicherort für das neue IRP ab.
- Geben Sie an der neuen Stapelposition einen Zeiger auf die neue BUS_INTERFACE_REFERENCE Struktur im Parameters.QueryInterface.Interface Member an.
- Legen Sie eine Abschlussroutine fest, und senden Sie die Anforderung an den Treiberstapel.
- Wenn Ihre Anforderung erfolgreich ist, füllt das System die BUS_INTERFACE_REFERENCE Struktur aus, auf die durch Parameters.QueryInterface.Interfaceverwiesen wird.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ks.h (enthalten Ks.h) |