次の方法で共有


UcmUcsiPpmStart 関数 (Ucmucsippm.h)

クライアント ドライバーへの要求の送信を開始するように UcmUcsiCx クラス拡張機能に指示します。

構文

NTSTATUS UcmUcsiPpmStart(
  [in] UCMUCSIPPM PpmObject
);

パラメーター

[in] PpmObject

前の UcmUcsiPpmCreate 呼び出しでクライアント ドライバーが受信したプラットフォーム ポリシー マネージャー (PPM) オブジェクトへのハンドル。

戻り値

操作が成功した場合STATUS_SUCCESSを返します。 それ以外の場合、このメソッドは適切な NTSTATUS 値を 返すことができます。

注釈

UcmUcsiPpmStart は、クライアント ドライバーがクラス拡張機能から要求を受信する準備ができたことを示します。 この呼び出し時に、クラス拡張機能は OS Policy Manager (OPM) およびコマンド ハンドラー状態マシンを起動します。

クライアント ドライバーは、エラー回復のために UcmUcsiPpmStop を呼び出した後、UcmUcsiPpmStart を呼び出す必要があります。

この DDI は、OPM およびコマンド ハンドラー状態マシンを初期化するためにクラス拡張機能が実行する必要がある操作を開始します。 クライアント ドライバーは UcmUcsiPpmStart を呼び出して、ドライバーが IOCTL 要求を受信する準備ができていることを UcmUcsiCx に通知する必要があります。 この呼び出しは、 EVT_WDF_DEVICE_PREPARE_HARDWARE コールバック関数から行うか、システムがこのコールバックを呼び出した後に行うことをお勧めします。

PPM を既に開始した後に開始しようとすると、エラー状態になります。

クライアントが UcmUcsiPpmStart を呼び出した後、PPM とコネクタの機能とその状態を取得するために、クラス拡張機能によって PPM ファームウェアに多数のコマンドが送信されます。 ファームウェアとの相互作用が多いため、UcmUcsiCx クライアント実装者は、D0Entry コールバックなどの低電力状態からの再開時ではなく、起動時にこの DDI を 1 回呼び出すのを強くお勧めします。 これは、クライアントが S0 アイドリングを実装する場合に特に当てはまります。

要件

要件
最小 KMDF バージョン 1.27
最小 UMDF バージョン 該当なし
Header Ucmucsippm.h (UcmUcsiCx.h を含む)
Library UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL