BUS_INTERFACE_SWENUM-Struktur (swenum.h)
Die BUS_INTERFACE_SWENUM-Struktur beschreibt die Schnittstelle des Anforderungslastbus-Enumeratorobjekts.
Syntax
typedef struct _BUS_INTERFACE_SWENUM {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;
Member
Interface
Gibt die exportierte SCHNITTSTELLE an.
ReferenceDeviceObject
Zeiger auf eine vom Treiber bereitgestellte KsReferenceSoftwareBusObject-Routine .
DereferenceDeviceObject
Zeiger auf eine vom Treiber bereitgestellte KsDereferenceSoftwareBusObject-Routine .
QueryReferenceString
Zeiger auf eine vom Treiber bereitgestellte KsQuerySoftwareBusInterface-Routine .
Hinweise
Ein Treiber ruft eine BUS_INTERFACE_SWENUM-Schnittstelle ab, indem er eine IRP_MJ_PNP-Anforderung erstellt und sendet, die einen IRP_MN_QUERY_INTERFACE Nebenfunktionscode angibt. Dazu muss der Treiber folgendes tun:
- Ordnen Sie eine BUS_INTERFACE_SWENUM-Struktur aus dem ausgelagerten Speicherpool zu, und füllen Sie sie auf null aus.
- Erstellen Sie ein IRP für die Abfrageschnittstellenanforderung, und rufen Sie den nächsten Stapelspeicherort für das neue IRP ab.
- Geben Sie im neuen Stapelspeicherort einen Zeiger auf die neue BUS_INTERFACE_SWENUM-Struktur im Parameters.QueryInterface.Interface-Element an.
- Legen Sie eine Vervollständigungsroutine fest, und senden Sie die Anforderung auf den Treiberstapel.
- Wenn Ihre Anforderung erfolgreich ist, füllt das System die BUS_INTERFACE_SWENUM Struktur aus, auf die parameters.QueryInterface.Interface verweist.
Anforderungen
Anforderung | Wert |
---|---|
Header | swenum.h (swenum.h einschließen) |