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 SPB-Controller-SPBREQUEST-Objekte enthält.
Rückgabewert
Keine
Bemerkungen
Während der Geräteinitialisierung kann Ihr SPB-Controllertreiber diese Methode aufrufen, um die Standardattribute für SPBREQUEST-Objekte festzulegen. Anschließend weist SpbCx diese Attribute allen E/A-Anforderungen zu, die es an Zielgeräte auf dem 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, aber vor dem Aufruf von SpbControllerSetRequestAttributes kann der Aufrufer die Werte der folgenden Member dieser Struktur ändern:
- EvtCleanupCallback
- EvtDestroyCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT initialisiert die Member EvtCleanupCallback und EvtDestroyCallback auf NULL. Wenn Sie diese Standardwerte ändern, um eine EvtCleanupCallback - oder EvtDestroyCallback-Rückruffunktion zu registrieren, 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 die Anforderung nie an den SPB-Controllertreiber übermittelt (da die Anforderung abgebrochen wird, nachdem sie in der Warteschlange angekommen ist, aber bevor sie an den Treiber übergeben wird).
Der SPB-Controllertreiber muss SpbControllerSetRequestAttributes aufrufen, bevor er das Geräteobjekt committet , d. h. bevor er vom Rückruf "EvtDriverDeviceAdd " zurückgibt oder das PDO der untergeordneten Liste des Controllers hinzufügt. Die untergeordnete Liste stellt die Geräte dar, die an den Bus angefügt sind. Weitere Informationen finden Sie unter Auflisten der Geräte in einem Bus.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | spbcx.h |
Bibliothek | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |