Функция 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 |