PcRegisterPhysicalConnection 関数 (portcls.h)

PcRegisterPhysicalConnection 関数は、同じアダプター ドライバーによってインスタンス化された 2 つのオーディオ アダプター フィルター間の物理的な接続を登録します。

構文

PORTCLASSAPI NTSTATUS PcRegisterPhysicalConnection(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PUNKNOWN       FromUnknown,
  [in] ULONG          FromPin,
  [in] PUNKNOWN       ToUnknown,
  [in] ULONG          ToPin
);

パラメーター

[in] DeviceObject

アダプター デバイスのデバイス オブジェクトへのポインター。 このパラメーターは、 DEVICE_OBJECT型のシステム構造を指す必要があります。

[in] FromUnknown

ポート ドライバー オブジェクトの IPort インターフェイスへのポインター。 FromUnknown に関連付けられているポート ドライバー オブジェクトは、接続のデータ ソース (出力) ピンを提供するサブデバイスにバインドされます。

[in] FromPin

ピン ID を指定します。 このパラメーターは、 FromUnknown インターフェイスに関連付けられているフィルターのソース (出力) ピンを識別します。

[in] ToUnknown

ポート ドライバー オブジェクトの IPort インターフェイスへのポインター。 ToUnknown に関連付けられているポート ドライバー オブジェクトは、接続のデータ シンク (入力) ピンを提供するサブデバイスにバインドされます。

[in] ToPin

ピン ID を指定します。 このパラメーターは、 ToUnknown インターフェイスに関連付けられているフィルターのシンク (入力) ピンを識別します。

戻り値

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

注釈

アダプター ドライバーは 、PcRegisterPhysicalConnection を呼び出して、PortCls システム ドライバーに物理接続を登録します。 PortCls は、この情報を格納して、その後、ポート ドライバーが情報を使用して KSPROPERTY_PIN_PHYSICALCONNECTION プロパティ要求に応答できるようにします。

呼び出し元が PcRegisterPhysicalConnection 関数に提供するパラメーターは、同じアダプター カード上の 2 つのサブデバイス間の物理的な接続 (個々のフィルターとして表されます) を記述します。

ソフトウェア制御下で構成できる 2 つのピン間の論理接続とは異なり、物理的な接続はハードワイヤードされます。 たとえば、一般的なアダプター カードは、ウェーブ出力フィルターの出力ピンからトポロジ フィルターの入力ピンにアナログ信号を伝送する物理接続を備えている場合があります。

PcRegisterPhysicalConnection 呼び出しを使用してアダプターの物理接続を登録するアダプター ドライバーのデバイススタートアップ ルーチン (「スタートアップ シーケンス」を参照) の例については、Microsoft Windows Driver Kit (WDK) の SB16 サンプル オーディオ ドライバーのソース コードを参照してください。

アダプター ドライバーは 、IUnregisterPhysicalConnection::UnregisterPhysicalConnection メソッドを呼び出して、 PcRegisterPhysicalConnection の以前の呼び出しによって登録された物理接続の登録を削除できます。 詳細については、「 ダイナミック オーディオ サブデバイス」を参照してください。

要件

要件
サポートされている最小のクライアント PortCls システム ドライバーは、Microsoft Windows 98/Me および Windows 2000 以降のオペレーティング システムで PcRegisterPhysicalConnection 関数を実装します。
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
Library Portcls.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

DEVICE_OBJECT

IPort

IUnregisterPhysicalConnection::UnregisterPhysicalConnection

KSPROPERTY_PIN_PHYSICALCONNECTION

PcRegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionToExternal