Freigeben über


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)