次の方法で共有


UcmUcsiPpmStop 関数 (ucmucsippm.h)

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

構文

void UcmUcsiPpmStop(
  [in] UCMUCSIPPM PpmObject
);

パラメーター

[in] PpmObject

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

戻り値

何一つ

備考

UcmUcsiPpmStop は、クライアント ドライバーがクラス拡張機能から要求を受信する準備ができていないことを示します。 クラス拡張は、この呼び出しが返された後にクライアントに対して行われた要求がないことを保証します。 ドライバーは、エラーが発生し、クラス拡張機能が PPM 要求の送信を停止する必要がある場合に、この DDI を呼び出す必要があります。 呼び出しが完了した後、ドライバーは、UcmUcsiPpmStartを使用して PPM をもう一度起動する必要があります。

クライアント ドライバーは、ドライバーのアンロード時にこの DDI を呼び出す必要があります。 この呼び出しは、内部ステート マシンの破棄を開始するクラス拡張機能を示します。 クライアントは、EVT_WDF_DEVICE_RELEASE_HARDWARE コールバックから UcmUcsiPpmStop 呼び出することをお勧めします。

UcmUcsiPpmStop は、クライアント ドライバーによって提供される電源マネージド WDFQUEUE 経由で UCSI コマンドを PPM に送信する必要があるため、コールバックからこの関数 EVT_WDF_DEVICE_D0_EXIT 呼び出そうとすると、エラーが発生します。 これは、現時点では、キューのディスパッチ ゲートが閉じられるためです。

UcmUcsiPpmStop が戻った後、UcmUcsiPpmStart を呼び出して PPM を再度開始できます。

必要条件

要件 価値
最小 KMDF バージョン 1.27
UMDF の最小バージョン する N/A
ヘッダー ucmucsippm.h (UcmUcsiCx.h を含む)
ライブラリ UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL