PcNewMiniport 函式 (portcls.h)

PcNewMiniport 函式會建立其中一個系統提供的迷你埠驅動程序實例,這些驅動程式內建於 PortCls 系統驅動程式中,portcls.sys。 類別標識子會指定要具現化的這些迷你埠驅動程式之一。 驅動程序支援衍生自 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 迷你埠驅動程式。 公開 IMiniportDMus 介面,以便與 IPortDMus 埠物件搭配使用。
CLSID_MiniportDriverDMusUARTCapture 適用於 MPU-401 擷取裝置的 DMusUARTCapture 迷你埠驅動程式。 公開 IMiniportDMus 介面,以便與 IPortDMus 埠物件搭配使用。
CLSID_MiniportDriverFmSynth FMSynth 迷你埠驅動程式,適用於 FM synth 裝置。 公開 IMiniportMidi 介面以與 IPortMidi 連接埠物件搭配使用。
CLSID_MiniportDriverFmSynthWithVol 與上述專案相同,不同之處在於驅動程式也支援磁碟區節點。
CLSID_MiniportDriverUart MPU-401 合成裝置的 UART 迷你埠驅動程式。 公開 IMiniportMidi 介面以與 IPortMidi 連接埠物件搭配使用。 已過時。
 

上表中的前兩個 GUID 定義於頭檔 dmusicks.h;最後三個定義於 portcls.h 中。

DMusUART 迷你埠驅動程式會將MIDI資料輸出至具有純 MPU-401 MIDI 介面的合成裝置。 若要產生音效,此裝置需要附加外部MIDI音效模組。

DMusUARTCapture 迷你埠驅動程式會從具有純 MPU-401 介面的擷取裝置輸入 MIDI 數據。

FMSynth 迷你埠驅動程式會將MIDI資料輸出至實作OPL3樣式 FM 合成的合成裝置。 CLSID_MiniportDriverFmSynth GUID 適用於大部分 FM 合成裝置。 不過,在 FM 合成器之後未提供硬體音量控制的 Windows 音效系統之類的裝置應該改用 CLSID_MiniportDriverFmSynthWithVol GUID。 在 Windows Server SP1 和更新版本中,FMSynth 迷你埠驅動程式僅適用於 32 位版本的作業系統。

UART 迷你埠驅動程式已過時。 新的配接器驅動程式程式代碼應該使用 DMusUART 迷你埠驅動程式,以取代 UART 並實作其功能的超集。

Microsoft 提供 DMusUART 和 FMSynth 迷你埠驅動程式的原始程式碼,可做為可能需要擴充這些驅動程式以管理其他裝置功能的硬體廠商起點。 查看 Windows 驅動程式套件 (WDK) 中的範例音訊驅動程式。

如需為子裝置建立埠和迷你埠驅動程序的詳細資訊,請參閱 子裝置 建立。

OutMiniport 參數遵循 COM 對象的參考計數慣例

規格需求

需求
最低支援的用戶端 PortCls 系統驅動程式會在 Microsoft Windows 98/Me 和 Windows 2000 和更新版本的操作系統中實作 PcNewMiniport 函式。
目標平台 Universal
標頭 portcls.h (包含 Portcls.h)
程式庫 Portcls.lib
IRQL PASSIVE_LEVEL

另請參閱

IMiniport

IMiniportDMus

IMiniportMidi

IPortDMus

IPortMidi