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 |