SpbControllerSetRequestAttributes-Funktion (spbcx.h)
Die SpbControllerSetRequestAttributes Methode legt Objektattribute fest, die für alle SPBREQUEST-Objekte verwendet werden, die von der SPB-Frameworkerweiterung (SpbCx) an den SPB-Controllertreiber übermittelt werden.
Syntax
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
Parameter
[in] FxDevice
Ein WDFDEVICE-Handle für das Geräteobjekt, das den SPB-Controller darstellt.
[in] RequestAttributes
Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_OBJECT_ATTRIBUTES Struktur, die Attribute für die SPBREQUEST-Objekte des SPB-Controllers enthält.
Rückgabewert
Nichts
Bemerkungen
Während der Geräteinitialisierung kann Ihr SPB-Controllertreiber diese Methode aufrufen, um die Standardattribute für SPBREQUEST-Objekte festzulegen. Danach weist SpbCx diese Attribute allen E/A-Anforderungen zu, die sie an Zielgeräte im Bus übermittelt (oder weiterleitet).
RequestAttributes verweist auf eine WDF_OBJECT_ATTRIBUTES Struktur. Der Aufrufer muss zuvor die WDF_OBJECT_ATTRIBUTES_INIT-Funktion aufgerufen haben, um diese Struktur zu initialisieren. Nach diesem Aufruf kann der Aufruf von SpbControllerSetRequestAttributesjedoch die Werte der folgenden Elemente dieser Struktur ändern:
- EvtCleanupCallback
- EvtDestroyCallback-
- ContextSizeOverride-
- ContextTypeInfo-
WDF_OBJECT_ATTRIBUTES_INIT initialisiert die EvtCleanupCallback und EvtDestroyCallback Member auf NULL-. Wenn Sie diese Standardwerte so ändern, dass ein EvtCleanupCallback oder EvtDestroyCallback Rückruffunktion registriert wird, wird diese Funktion jedes Mal aufgerufen, wenn eine E/A-Anforderung in der SPB-Controllerwarteschlange eingeht, die von SpbCx verwaltet wird. Eine solche E/A-Anforderung bewirkt, dass die EvtCleanupCallback oder EvtDestroyCallback-Funktion aufgerufen wird, auch wenn SpbCx niemals die Anforderung an den SPB-Controllertreiber darstellt (da die Anforderung abgebrochen wird, nachdem sie in der Warteschlange eintreffen, aber bevor sie an den Treiber übergeben wird).
Der SPB-Controllertreiber muss SpbControllerSetRequestAttributes- aufrufen, bevor es commits das Geräteobjekt, d. h. vor der Rückgabe von der EvtDriverDeviceAdd Rückruf oder fügt den PDO der untergeordneten Liste des Controllers hinzu. Die untergeordnete Liste stellt die Geräte dar, die an den Bus angeschlossen sind. Weitere Informationen finden Sie unter Aufzählen der Geräte auf einem Bus-.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8. |
Zielplattform- | Universal |
Header- | spbcx.h |
Library | Spbcxstubs.lib |
IRQL- | PASSIVE_LEVEL |