次の方法で共有


IMiniportMidi::Init メソッド (portcls.h)

メソッドは Init 、MIDI ミニポート オブジェクトを初期化します。

構文

NTSTATUS Init(
  [in]  PUNKNOWN      UnknownAdapter,
  [in]  PRESOURCELIST ResourceList,
  [in]  PPORTMIDI     Port,
  [out] PSERVICEGROUP *ServiceGroup
);

パラメーター

[in] UnknownAdapter

ミニポート オブジェクトが初期化されているアダプター オブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは省略可能であり、 NULL として指定できます。 詳細については、「解説」を参照してください。

[in] ResourceList

初期化中にミニポート ドライバーに提供されるリソース リスト オブジェクトの IResourceList インターフェイスへのポインター。 ミニポート ドライバーにこの参照を渡した後、ポート ドライバーはリソースリストの内容を自由に調べることができますが、このリストの内容は変更されません。 詳細については、「解説」を参照してください。

[in] Port

このミニポート オブジェクトにバインドされている IPortMidi オブジェクトへのポインター。 呼び出し元は、このパラメーターの有効な NULL 以外のポインター値を指定します。

[out] ServiceGroup

サービス グループの出力ポインター。 このパラメーターは、メソッドがミニポート ドライバーのサービス グループ オブジェクトの IServiceGroup インターフェイスへのポインターを書き込む呼び出し元によって割り当てられたポインター変数を指します。 これは、割り込み通知用に登録されているサービス グループです。 呼び出し元は、このパラメーターの有効な NULL 以外のポインター値を指定します。

戻り値

Init は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。

注釈

UnknownAdapter パラメーターは省略可能です。

  • UnknownAdapterNULL 以外の場合、Initメソッドは UnknownAdapter オブジェクトの IInterruptSync インターフェイスを照会します。
  • UnknownAdapterNULL の場合、Initこのメソッドは PcNewInterruptSync を呼び出して新しい IInterruptSync オブジェクトを作成します。 この場合、 ResourceList が指すリソース リストは、新しい IInterruptSync オブジェクトが使用する割り込みリソースを提供します。
どちらの場合も、 Init メソッドと は IInterruptSync オブジェクトの RegisterServiceRoutine メソッドを呼び出して、ミニポート ドライバーの割り込みサービス ルーチン (ISR) を割り込み同期ルーチンの一覧に追加します。 アダプター ドライバーが後でポート オブジェクトを解放すると、ポート ドライバーは IInterruptSync オブジェクトへの参照を解放します。

UnknownAdapter パラメーターと ResourceList パラメーターは、以前にアダプター ドライバーが IPortMidi オブジェクトの Init メソッドにパラメーターとして渡したのと同じポインター値です (「IPort::Init」を参照)。

UnknownAdapterResourceListPortServiceGroup の各パラメーターは、COM オブジェクトの参照カウント規則に従います。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync