IPortDMus::RegisterServiceGroup メソッド (dmusicks.h)
メソッドは RegisterServiceGroup
、DMus ポート ドライバーにサービス グループを登録します。
構文
void RegisterServiceGroup(
[in] PSERVICEGROUP ServiceGroup
);
パラメーター
[in] ServiceGroup
IServiceGroup オブジェクトへのポインター。 これは、登録されるサービス グループです。
戻り値
なし
解説
ミニポート ドライバーは、 メソッドを RegisterServiceGroup
呼び出して、ポート ドライバーにサービス グループ (IServiceGroup オブジェクト) を登録します。 ポート ドライバーは、1 つ以上のサービス シンク (IServiceSink オブジェクト) をこのサービス グループに挿入できます。 ミニポート ドライバーは、割り込みが発生するたびにサービス グループに ( IPortDMus::Notify を呼び出すことによって) 通知を送信します。 通知を受信すると、サービス グループは遅延プロシージャ 呼び出し (DPC) をスケジュールします。 DPC は、サービス グループ内のすべてのサービス シンクを反復処理し、それぞれに通知を送信します。
ミニポート ドライバーは通常、IMiniportDMus::Init メソッドの実行中に RegisterServiceSink を呼び出します。 この呼び出しの目的は、割り込みが有効になるとすぐに処理を開始するのに十分な早い段階でポート ドライバーにサービス グループを登録することです。 Init メソッドが出力するサービス グループは、Init メソッドから戻るまでポート ドライバーで使用できません。
ミニポート ドライバーが を呼び出す RegisterServiceSink
場合、ミニポート ドライバーがメソッドに RegisterServiceSink
渡すサービス グループは、ミニポート ドライバーが Init メソッドを介して出力するのと同じである必要があります。
一般的なミニポート ドライバーは、IMiniportDMus::Init からの戻りが発生した後に を呼び出すRegisterServiceSink
必要はありません。
ミニポート ドライバーが IMiniportDMus::Init メソッド内からどのように呼び出RegisterServiceSink
されるかを示すコード例については、Microsoft Windows Driver Kit (WDK) の DMusUART サンプル オーディオ ドライバーを参照してください。
pServiceGroup パラメーターは、COM オブジェクトの参照カウント規則に従います。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dmusicks.h (Dmusicks.h を含む) |
IRQL | PASSIVE_LEVEL |