IAdapterPnpManagement::P npStop メソッド (portcls.h)
PnpStop メソッドは、すべての Ioctl 操作を停止し、アクティブストリームを run|pause|acquire 状態から停止状態に移動した後に通知を提供します。
構文
void PnpStop();
戻り値
なし
解説
PnpStop は、すべての Ioctl 操作を停止し、アクティブ ストリームを run|pause|acquire 状態から停止状態に移動した後、Portcls によって呼び出されます。 この呼び出しは、デバイスのグローバル ロックを保持している間は行われません。 したがって、ミニポート ドライバーには、非同期操作 (作業項目、dpc、非同期スレッド) を待機し、そのオーディオ サブデバイスの登録を解除する機会があります。 この呼び出しから戻る前に、ミニポートは、すべてのハードウェア リソースが解放されていることを確認する必要があります。
ミニポートは、既存のオーディオ クライアントが現在のハンドルを解放する場合は不明であるため、現在のミニポート/ストリーム オブジェクトが削除されるのを待つ必要があります。 PnpStop スレッドは、システムをクラッシュさせずに永久にブロックすることはできません。つまり、これは PnP/Power スレッドです。
IAdapterPnpManagement::P npstop は、次の後に呼び出されます。
- すべてのミニポート オーディオ サブデバイスに通知されています。
- オーディオ サブデバイスに属するすべてのストリームが停止しました。
- すべての Pnp インターフェイスがオフになっています。
- 保留中のすべての I/O が取り消されました。
詳細については、「 PortCls オーディオ ドライバーの PnP 再調整を実装する」を参照してください。
要件
要件 | 値 |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |