次の方法で共有


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

こちらもご覧ください

IMiniportDMus::Init

IPortDMus

IPortDMus::Notify

IServiceGroup

IServiceSink