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.
Die Implementierung des Clienttreibers zum Initiieren der Porterkennung
Syntax
EVT_UFX_DEVICE_PORT_DETECT EvtUfxDevicePortDetect;
VOID EvtUfxDevicePortDetect(
[in] UFXDEVICE unnamedParam1
)
{...}
Parameter
[in] unnamedParam1
Das Handle für ein USB-Geräteobjekt, das der Clienttreiber in einem vorherigen Aufruf des UfxDeviceCreate-Methode empfangen hat.
Rückgabewert
Nichts
Bemerkungen
Der Clienttreiber für den Funktionshostcontroller registriert seine EVT_UFX_DEVICE_PORT_DETECT Implementierung mit der USB-Funktionsklassenerweiterung (UFX), indem die UfxDeviceCreate-Methode aufgerufen wird.
Der Clienttreiber muss den Abschluss der Porterkennung angeben, indem die methoden UfxDevicePortDetectComplete oder UfxDevicePortDetectCompleteEx- aufgerufen werden.
Beispiele
EVT_UFX_DEVICE_PORT_DETECT UfxDevice_EvtDevicePortDetect;
VOID
UfxDevice_EvtDevicePortDetect (
_In_ UFXDEVICE UfxDevice
)
/*++
Routine Description:
Starts the port detection state machine
Arguments:
UfxDevice - UFXDEVICE object representing the device.
--*/
{
PUFXDEVICE_CONTEXT DeviceContext;
PCONTROLLER_CONTEXT ControllerContext;
DeviceContext = UfxDeviceGetContext(UfxDevice);
ControllerContext = DeviceGetControllerContext(DeviceContext->FdoWdfDevice);
//
// #### TODO: Insert code to determine port/charger type ####
//
// In this example we will return an unknown port type.
// This will allow UFX to connect to a host if one is present.
// UFX will timeout after 5 seconds if no host is present and transition to
// an invalid charger type, which will allow the controller to exit D0.
//
UfxDevicePortDetectComplete(ControllerContext->UfxDevice, UsbfnUnknownPort);
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Fenster |
| Minimale KMDF-Version | 1.0 |
| Mindest-UMDF-Version | 2.0 |
| Header- | ufxclient.h |
| IRQL- | PASSIVE_LEVEL |