Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt für KMDF und UMDF]
Die WdfUsbInterfaceSelectSetting Methode wählt eine angegebene alternative Einstellung für eine angegebene USB-Schnittstelle aus.
Syntax
NTSTATUS WdfUsbInterfaceSelectSetting(
[in] WDFUSBINTERFACE UsbInterface,
[in, optional] PWDF_OBJECT_ATTRIBUTES PipesAttributes,
[in] PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
);
Parameter
[in] UsbInterface
Ein Handle für ein USB-Schnittstellenobjekt, das durch Aufrufen WdfUsbTargetDeviceGetInterfaceabgerufen wurde.
[in, optional] PipesAttributes
Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES Struktur, die Objektattribute für Pipeobjekte angibt, die das Framework für die Schnittstelle erstellt. Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.
[in] Params
Ein Zeiger auf eine vom Aufrufer bereitgestellte WDF_USB_INTERFACE_SELECT_SETTING_PARAMS Struktur, die Schnittstellenauswahlparameter enthält.
Rückgabewert
WdfUsbInterfaceSelectSetting gibt den Fertigstellungsstatuswert des E/A-Ziels zurück, wenn der Vorgang erfolgreich ist. Andernfalls kann diese Methode einen der folgenden Werte zurückgeben:
| Rückgabecode | Beschreibung |
|---|---|
|
Ein ungültiger Parameter wurde erkannt. |
|
Es war nicht genügend Arbeitsspeicher vorhanden, um ein neues Pipeobjekt zu erstellen. |
Eine Liste mit anderen Rückgabewerten, die von der WdfUsbInterfaceSelectSetting Methode möglicherweise zurückgegeben werden, finden Sie unter Framework Object Creation Errors.
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Nachdem Ihr Treiber WdfUsbTargetDeviceSelectConfig aufgerufen hat, um eine Konfiguration auszuwählen, kann der Treiber WdfUsbInterfaceSelectSetting aufrufen, um eine alternative Einstellung für eine der Geräteschnittstellen auszuwählen.
Der Treiber kann die alternative Einstellung einer Schnittstelle auswählen, indem ein USB-Schnittstellendeskriptor oder ein URB-angegeben wird, oder indem er einfach eine alternative Einstellung für die Schnittstelle bereitstellt. In allen Fällen muss der Treiber ein Handle für ein Schnittstellenobjekt bereitstellen.
Wenn Ihr Treiber nur eine alternative Einstellung bereitstellt, verwendet das Framework das Schnittstellenobjekt, um die Schnittstelle zu bestimmen, zu der die Einstellung gehört.
Wenn Ihr Treiber einen Schnittstellendeskriptor oder eine URB angibt, verwendet das Framework die Schnittstelle, die im Deskriptor oder URB angegeben ist.
Das Framework erstellt ein Framework-USB-Pipe-Objekt für jede Pipe, die der Schnittstelle zugeordnet ist, nachdem alle Pipeobjekte gelöscht wurden, die das Framework zuvor für die Schnittstelle erstellt haben könnte. Um Informationen zu den Pipeobjekten einer Schnittstelle abzurufen, kann Ihr Treiber WdfUsbInterfaceGetNumConfiguredPipes und WdfUsbInterfaceGetConfiguredPipe-aufrufen.
Weitere Informationen zur WdfUsbInterfaceSelectSetting Methode und USB-E/A-Zielen finden Sie unter USB-E/A-Ziele.
Beispiele
Im folgenden Codebeispiel wird eine WDF_OBJECT_ATTRIBUTES Struktur mit Attributen für die Pipeobjekte initialisiert, die das Framework erstellt. Anschließend initialisiert das Beispiel eine WDF_USB_INTERFACE_SELECT_SETTING_PARAMS Struktur, um alternative Einstellung 1 anzugeben. Schließlich ruft das Beispiel WdfUsbInterfaceSelectSetting auf, um die alternative Einstellung auszuwählen und Pipeobjekte für die Rohre der Schnittstelle zu erstellen.
WDF_OBJECT_ATTRIBUTES pipesAttributes;
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS selectSettingParams;
NTSTATUS Status;
WDF_OBJECT_ATTRIBUTES_INIT(&pipesAttributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(
&pipesAttributes,
MY_PIPE_CONTEXT
);
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING(
&selectSettingParams,
1
);
Status = WdfUsbInterfaceSelectSetting(
UsbInterface,
&pipesAttributes,
&selectSettingParams
);
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Minimale KMDF-Version | 1.0 |
| Mindest-UMDF-Version | 2.0 |
| Header- | wdfusb.h (include Wdfusb.h) |
| Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL- | PASSIVE_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |
Siehe auch
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING
WdfUsbInterfaceGetConfiguredPipe-
WdfUsbInterfaceGetNumConfiguredPipes