次の方法で共有


PcNewMiniport 関数 (portcls.h)

PcNewMiniport 関数は、PortCls システム ドライバーに組み込まれているシステム提供のミニポート ドライバーの 1 つのインスタンスを作成 portcls.sys。 クラス ID は、インスタンス化するこれらのミニポート ドライバーのどれを指定します。 ドライバーは、 IMiniport から派生したミニポート インターフェイスをサポートしています。

構文

PORTCLASSAPI NTSTATUS PcNewMiniport(
  [out] PMINIPORT *OutMiniPort,
  [in]  REFCLSID  ClassID
);

パラメーター

[out] OutMiniPort

この関数によって作成されたミニポート ドライバー オブジェクトの出力ポインター。 このパラメーターは、呼び出し元によって割り当てられたポインター変数を指し、関数が新しく作成された IMiniport オブジェクトへの参照を出力します。 このオブジェクトは、 ClassId パラメーターで指定されたミニポート ドライバーのインスタンスです。 このパラメーターに有効な NULL 以外のポインター値を指定します。

[in] ClassID

要求されるミニポート インターフェイスを指定します。 詳細については、「解説」を参照してください。

戻り値

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

注釈

MPU-401 UART および OPL3 シンセサイザー用のシステム提供のミニポート ドライバーは、 PcNewMiniport を呼び出すことによってインスタンス化できます。これらは、portcls.sys システム ドライバーと共に提供される組み込みのミニポート ドライバーです。 ベンダーのアダプター ドライバーの一部であるミニポート ドライバーは、この方法では作成されません。

ClassId パラメーターは、次の表のいずれかの GUID に設定できます。

GUID System-Supplied ドライバー
CLSID_MiniportDriverDMusUART MPU-401 シンセ デバイスの DMusUART ミニポート ドライバー。 IPortDMus ポート オブジェクトで使用する IMiniportDMus インターフェイスを公開します。
CLSID_MiniportDriverDMusUARTCapture MPU-401 キャプチャ デバイス用の DMusUARTCapture ミニポート ドライバー。 IPortDMus ポート オブジェクトで使用する IMiniportDMus インターフェイスを公開します。
CLSID_MiniportDriverFmSynth FM シンセ デバイスの FmSynth ミニポート ドライバー。 IPortMidi ポート オブジェクトで使用する IMiniportMidi インターフェイスを公開します。
CLSID_MiniportDriverFmSynthWithVol 前のエントリと同じですが、ドライバーでボリューム ノードもサポートされている点が除きます。
CLSID_MiniportDriverUart MPU-401 シンセ デバイスの UART ミニポート ドライバー。 IPortMidi ポート オブジェクトで使用する IMiniportMidi インターフェイスを公開します。 互換性のために残されています。
 

前の表の最初の 2 つの GUID は、ヘッダー ファイル dmusicks.h で定義されています。最後の 3 つが portcls.h で定義されています。

DMusUART ミニポート ドライバーは、純粋な MPU-401 MIDI インターフェイスを持つシンセ デバイスに MIDI データを出力します。 サウンドを生成するには、このデバイスには外部 MIDI サウンド モジュールが接続されている必要があります。

DMusUARTCapture ミニポート ドライバーは、純粋な MPU-401 インターフェイスを使用してキャプチャ デバイスから MIDI データを入力します。

FMSynth ミニポート ドライバーは、OPL3 スタイルの FM 合成を実装するシンセデバイスに MIDI データを出力します。 CLSID_MiniportDriverFmSynth GUID は、ほとんどの FM シンセ デバイスに適しています。 ただし、FM シンセの後にハードウェア ボリュームコントロールを提供しない Windows サウンド システムなどのデバイスでは、代わりに CLSID_MiniportDriverFmSynthWithVol GUID を使用する必要があります。 Windows Server SP1 以降では、FMSynth ミニポート ドライバーは、オペレーティング システムの 32 ビット バージョンでのみ使用できます。

UART ミニポート ドライバーは廃止されました。 新しいアダプター ドライバー コードでは、UART を置き換え、その機能のスーパーセットを実装する DMusUART ミニポート ドライバーを使用する必要があります。

Microsoft では、DMusUART および FMSynth ミニポート ドライバーのソース コードを提供しています。これは、追加のデバイス機能を管理するためにこれらのドライバーを拡張する必要があるハードウェア ベンダーの開始点として機能します。 Windows Driver Kit (WDK) のサンプル オーディオ ドライバーを確認します。

サブデバイスのポートドライバーとミニポート ドライバーの作成の詳細については、「サブデバイスの作成」を参照してください。

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

要件

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

こちらもご覧ください

IMiniport

IMiniportDMus

IMiniportMidi

IPortDMus

IPortMidi