_URB_CONTROL_FEATURE_REQUEST-Struktur (usb.h)
Die _URB_CONTROL_FEATURE_REQUEST-Struktur wird von USB-Clienttreibern verwendet, um Features auf einem Gerät, einer Schnittstelle oder einem Endpunkt festzulegen oder zu löschen.
Syntax
struct _URB_CONTROL_FEATURE_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved2;
ULONG Reserved3;
PVOID Reserved4;
PMDL Reserved5;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
USHORT Reserved0;
USHORT FeatureSelector;
USHORT Index;
USHORT Reserved1;
};
Member
Hdr
Zeiger auf eine _URB_HEADER-Struktur , die die URB-Headerinformationen angibt. Hdr.Function gibt entweder einen Set- oder einen Clear-Feature-Vorgang an, der auf einem Gerät, einer Schnittstelle, einem Endpunkt oder einer anderen nicht standardmäßigen Komponente ausgeführt werden soll. Hdr.Function muss über einen der folgenden Werte verfügen:
Hdr.Length muss gleich sizeof(_URB_CONTROL_FEATURE_REQUEST)
sein.
Reserved
Reserviert. Darf nicht verwendet werden.
Reserved2
Reserviert. Darf nicht verwendet werden.
Reserved3
Reserviert. Darf nicht verwendet werden.
Reserved4
Reserviert. Darf nicht verwendet werden.
Reserved5
Reserviert. Darf nicht verwendet werden.
UrbLink
Reserviert. Darf nicht verwendet werden.
hca
Reserviert. Darf nicht verwendet werden.
Reserved0
Reserviert. Darf nicht verwendet werden.
FeatureSelector
Gibt den usb-definierten Featurecode an, der gelöscht oder festgelegt werden soll. Die Verwendung eines ungültigen, nicht festgelegten oder nicht gelöschten Featurecodes führt dazu, dass das Ziel angehalten wird. Der Bustreiber kopiert den Wert im FeatureSelector-Element in das Feld wValue des Setuppakets.
Index
Gibt den gerätedefinierten Index an, der von einer erfolgreichen Konfigurationsanforderung zurückgegeben wird, wenn die Anforderung für einen Endpunkt oder eine Schnittstelle gilt. Andernfalls muss der Index null sein. Der Bustreiber kopiert den Wert im Indexelement in das Feld wIndex des Setuppakets.
Reserved1
Reserviert. Darf nicht verwendet werden.
Hinweise
Treiber können die UsbBuildFeatureRequest-Dienstroutine verwenden, um diese URB zu formatieren.
Die reservierten Member dieser Struktur müssen als undurchsichtig behandelt werden und sind für die Systemverwendung reserviert.
Wenn ein Treiber ein USB-Gerät für die Remotereaktivierung mit einer IRP_MN_WAIT_WAKE-Anforderung ausrichtet, richtet der USB-Bustreiber automatisch die Remotereaktivierungsfunktion auf dem Gerät ein. Eine Steuerelementfunktions-URB ist nicht erforderlich.
Wenn ein Treiber eine URB mit einem Funktionstyp von URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL an eine Pipe ausgibt, löscht der Bustreiber automatisch die Endpunkt-Verzögerungsfunktion der Pipe. Der Treiber muss keine Steuerelementfeature-URB an die Pipe senden, um das Endpunkt-Stillstand zu löschen.
Anforderungen
Anforderung | Wert |
---|---|
Header | usb.h (usb.h einschließen) |