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 が既に開始された後に PPM を開始しようとすると、エラー状態になります。
クライアントが UcmUcsiPpmStart 呼び出した後、クラス拡張機能は PPM とコネクタの機能とその状態を取得するために、PPM ファームウェアに多数のコマンドを送信します。 ファームウェアとの対話回数が多いため、UcmUcsiCx クライアント実装者は、D0Entry コールバックなどの低電力状態からの再開時ではなく、起動時に 1 回この DDI を呼び出すように強くお勧めします。 これは、クライアントが S0 アイドリングを実装する場合に特に当てはまります。
必要条件
要件 | 価値 |
---|---|
最小 KMDF バージョン | 1.27 |
UMDF の最小バージョン を する | N/A |
ヘッダー | Ucmucsippm.h (UcmUcsiCx.h を含む) |
ライブラリ | UcmUcsiCxStub.lib |
IRQL | PASSIVE_LEVEL |