UsbPm_AssignConnectorPowerLevel関数 (usbpmapi.h)

指定された電圧/電流/電力値を使用して PD コントラクトの再ネゴシエーションを試みます。

構文

NTSTATUS UsbPm_AssignConnectorPowerLevel(
  [In] USBPM_CLIENT                               ClientHandle,
  [In] USBPM_CONNECTOR                            ConnectorHandle,
  [In] PUSBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Params
);

パラメーター

[In] ClientHandle

UsbPm_Registerの前回の呼び出しでクライアント ドライバーが受け取ったハンドル。

[In] ConnectorHandle

ドライバーの EVT_USBPM_EVENT_CALLBACKの実装を呼び出すときに Policy Manager によって提供されるコネクタ ハンドル。 ハンドルは、Params 値の EventData.ConnectorStateChange.ConnectorHandle メンバーで設定されます。

[In] Params

ネゴシエートする電圧/電流/電力値を含むドライバー提供の USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS 構造体へのポインター。 USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INITを呼び出して構造体 初期化します。

電源シンクロールのコネクタの電圧/電流/電力値として 0 を指定すると、コネクタは充電を停止します。

戻り値

操作が成功した場合STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS 値を 返します。

注釈

ネゴシエートされた設定は、ポート パートナーがアタッチされている限り永続的であり、ポート パートナーがデタッチされると破棄されます。 クライアント ドライバーは、前の設定を想定せずに、現在のコネクタの状態に基づいてこの関数を呼び出す必要があります。

この呼び出しが成功した場合、要求は受け入れられましたが、PD コントラクトの再ネゴシエーションが完了していない可能性があります。 PD コントラクトの再ネゴシエーションの結果は、成功または失敗のいずれかになります。

PD コントラクトの再ネゴシエーションが成功した結果、コネクタ状態変更イベントを 使用してEVT_USBPM_EVENT_CALLBACK が呼び出されます。 PD コントラクトの再ネゴシエーション要求が失敗した場合、コールバック関数は呼び出されません。 たとえば、要求がパートナーによって拒否されたり、コネクタの状態が変更されたため無効になったりします。
Windows 10 Version 1809では、ドライバーは UsbCPowerRoleSink の電源ロールと、パートナーがコネクタに接続されている場合にのみ、この関数を呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809
最小 KMDF バージョン 1.27
最小 UMDF バージョン 2.27
Header usbpmapi.h
Library UsbPmApi.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

UsbPm_Register

EVT_USBPM_EVENT_CALLBACK