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