Freigeben über


BUS_INTERFACE_SWENUM Struktur (swenum.h)

Die BUS_INTERFACE_SWENUM-Struktur beschreibt die Schnittstelle des Anforderungsladebus-Enumeratorobjekts.

Syntax

typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;

Angehörige

Interface

Gibt die exportierte INTERFACE-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.

Bemerkungen

Ein Treiber ruft eine BUS_INTERFACE_SWENUM 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_SWENUM 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_SWENUM Struktur im Parameters.QueryInterface.Interface Member an.
  • Legen Sie eine Abschlussroutine fest, und senden Sie die Anforderung an den Treiberstapel.
  • Wenn Die Anforderung erfolgreich ist, füllt das System die BUS_INTERFACE_SWENUM Struktur aus, auf die durch Parameters.QueryInterface.Interfaceverwiesen wird.

Anforderungen

Anforderung Wert
Header- swenum.h (include Swenum.h)