次の方法で共有


UfxDevicePortDetectCompleteEx 関数 (ufxclient.h)

検出されたポートの種類について UFX に通知し、必要に応じてアクションを要求します。

構文

void UfxDevicePortDetectCompleteEx(
  [in] UFXDEVICE       UfxDevice,
  [in] USBFN_PORT_TYPE PortType,
  [in] USBFN_ACTION    Action
);

パラメーター

[in] UfxDevice

ドライバーが UfxDeviceCreate を呼び出して作成した UFX デバイス オブジェクトへのハンドル。

[in] PortType

USBFN_PORT_TYPE型の列挙値を格納します。

[in] Action

USBFN_ACTION型の列挙値を格納します。

戻り値

なし

解説

クライアント ドライバーは、ポート検出が完了した後、通常はEVT_UFX_DEVICE_PORT_DETECTコールバック関数から UfxDevicePortDetectCompleteEx を呼び出します。 一部のプラットフォームでは、UFX は報告されたポートの種類を使用して、USB ポートから引き出すことができる最大電流をバッテリー マネージャーに通知することがあります。

Action パラメーターが UsbfnActionNoCad に設定されている場合、UFX はバッテリ マネージャーにまったく通知しません。

Action パラメーターが UsbfnActionDetectProprietaryCharger に設定されている場合、UFX は、クライアント ドライバーの EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER コールバック関数を呼び出すことによって、クライアント ドライバーが独自の充電器検出を開始するように要求します。

次のスニペットは、クライアント ドライバーが UfxDevicePortDetectCompleteEx を呼び出す方法を示しています。

    switch (OnAttach.AttachAction) {
    case UsbfnPortDetected:
        TraceInformation("Port Detected");
        UfxDevicePortDetectComplete(
            ControllerData->UfxDevice,
            OnAttach.PortType);

        break;

    case UsbfnPortDetectedNoCad:
        TraceInformation("Port Detected No CAD");
        UfxDevicePortDetectCompleteEx(
            ControllerData->UfxDevice,
            OnAttach.PortType,
            UsbfnActionNoCad);

        break;


要件

要件
サポートされている最小のクライアント Windows 10
対象プラットフォーム Windows
ヘッダー ufxclient.h
Library ufxstub.lib
IRQL DISPATCH_LEVEL