次の方法で共有


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 バージョン 該当なし
Header ucmucsippm.h (UcmUcsiCx.h を含む)
Library UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL