Функция PcNewMiniport (portcls.h)

Функция PcNewMiniport создает экземпляр одного из предоставляемых системой драйверов miniport, встроенных в системный драйвер PortCls, portcls.sys. Идентификатор класса указывает, какой из этих драйверов минипорта следует создать. Драйвер поддерживает интерфейс мини-порта, производный от IMiniport.

Синтаксис

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

Параметры

[out] OutMiniPort

Указатель вывода для объекта miniport-driver, созданного этой функцией. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую функция выводит ссылку на только что созданный объект IMiniport . Этот объект является экземпляром драйвера мини-порта, указанного параметром ClassId . Укажите допустимое значение указателя, отличное от NULL, для этого параметра.

[in] ClassID

Указывает запрашиваемый интерфейс мини-порта. Дополнительные сведения см. в разделе "Примечания".

Возвращаемое значение

PcNewMiniport возвращает STATUS_SUCCESS, если вызов был успешным. В противном случае возвращается соответствующий код ошибки.

Комментарии

Системные драйверы минипорта для UART MPU-401 и синтезаторов OPL3 можно создать, вызвав pcNewMiniport . Это встроенные драйверы минипорта, которые предоставляются вместе с системным драйвером portcls.sys. Драйверы miniport, которые являются частью драйвера адаптера поставщика, не создаются таким образом.

Для параметра ClassId можно задать один из идентификаторов GUID, приведенных в следующей таблице.

GUID Драйвер System-Supplied
CLSID_MiniportDriverDMusUART Драйвер мини-порта DMusUART для синтезатора MPU-401. Предоставляет интерфейс IMiniportDMus для использования с объектом порта IPortDMus .
CLSID_MiniportDriverDMusUARTCapture Драйвер мини-порта DMusUARTCapture для устройства захвата MPU-401. Предоставляет интерфейс IMiniportDMus для использования с объектом порта IPortDMus .
CLSID_MiniportDriverFmSynth Драйвер мини-порта FmSynth для устройства синтезатора FM. Предоставляет интерфейс IMiniportMidi для использования с объектом порта IPortMidi .
CLSID_MiniportDriverFmSynthWithVol Аналогично предыдущей записи, за исключением того, что драйвер также поддерживает узел тома.
CLSID_MiniportDriverUart Драйвер минипорта UART для синтезатора MPU-401. Предоставляет интерфейс IMiniportMidi для использования с объектом порта IPortMidi . Является устаревшей.
 

Первые два идентификатора GUID в предыдущей таблице определены в файле заголовка dmusicks.h; последние три определяются в portcls.h.

Драйвер мини-порта DMusUART выводит данные MIDI на устройство синтезатора с чистым интерфейсом MIDI MPU-401. Для создания звука этому устройству требуется внешний звуковой модуль MIDI, подключенный к нему.

Драйвер мини-порта DMusUARTCapture вводит данные MIDI с устройства захвата с помощью чистого интерфейса MPU-401.

Драйвер минипорта FMSynth выводит данные MIDI на синтезатор, которое реализует синтез в стиле OPL3 FM. GUID CLSID_MiniportDriverFmSynth подходит для большинства устройств синтезатора FM. Однако устройства, такие как звуковая система Windows, которые не обеспечивают аппаратного контроля громкости после синтезатора FM, должны использовать вместо этого CLSID_MiniportDriverFmSynthWithVol GUID. В Windows Server с пакетом обновления 1 (SP1) и более поздних версиях драйвер мини-порта FMSynth доступен только в 32-разрядных версиях операционной системы.

Драйвер минипорта UART устарел. Новый код драйвера адаптера должен использовать драйвер мини-порта DMusUART, который заменяет UART и реализует надмножество его функций.

Корпорация Майкрософт предоставляет исходный код для драйверов мини-порта DMusUART и FMSynth, который может служить отправной точкой для поставщиков оборудования, которым может потребоваться расширить эти драйверы для управления дополнительными возможностями устройств. Просмотрите примеры аудиодрайверов в комплекте драйверов Windows (WDK).

Дополнительные сведения о создании портов и драйверов минипорта для вложенных служб см. в разделе Создание вложенных устройств.

Параметр OutMiniport соответствует соглашениям о подсчете ссылок для COM-объектов.

Требования

Требование Значение
Минимальная версия клиента Драйвер системы PortCls реализует функцию PcNewMiniport в Microsoft Windows 98/Me, а также в операционных системах Windows 2000 и более поздних версий.
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
Библиотека Portcls.lib
IRQL PASSIVE_LEVEL

См. также раздел

IMiniport

IMiniportDMus

IMiniportMidi

IPortDMus

IPortMidi