Функция PcNewMiniport (portcls.h)
Функция PcNewMiniport создает экземпляр одного из системных драйверов минипорта, встроенных в системный драйвер 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, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.
Замечания
Системные мини-порты для MPU-401 UARTs и синтезаторов OPL3 можно создать, вызвав PcNewMiniport Это встроенные минипорт-драйверы, предоставляемые portcls.sys системным драйвером. Минипорт драйверы, которые являются частью драйвера адаптера поставщика, не создаются таким образом.
Параметр ClassId можно задать для одного из идентификаторов GUID в следующей таблице.
GUID | Драйвер System-Supplied |
---|---|
CLSID_MiniportDriverDMusUART | Минипорт DMusUART для устройства synth MPU-401. Предоставляет интерфейс IMiniportDMus для использования с объектом порта IPortDMus. |
CLSID_MiniportDriverDMusUARTCapture | Драйвер минипорта DMusUARTCapture для устройства записи MPU-401. Предоставляет интерфейс IMiniportDMus для использования с объектом порта IPortDMus. |
CLSID_MiniportDriverFmSynth | Минипорт FmSynth для устройства синта FM. Предоставляет интерфейс IMiniportMidi для использования с объектом порта IPortMi di. |
CLSID_MiniportDriverFmSynthWithVol | Аналогично предыдущей записи, за исключением того, что драйвер также поддерживает узел тома. |
CLSID_MiniportDriverUart | Минипорт UART для устройства synth MPU-401. Предоставляет интерфейс IMiniportMidi для использования с объектом порта IPortMi di. Устаревший. |
Первые два идентификатора GUID в предыдущей таблице определены в файле заголовка dmusicks.h; Последние три определяются в portcls.h.
Драйвер мини-порта DMusUART выводит данные MIDI на устройство synth с чистым интерфейсом MIDI MPU-401. Для создания звука на этом устройстве требуется внешний звуковой модуль MIDI, подключенный к нему.
Драйвер минипорта DMusUARTCapture вводит данные MIDI с устройства записи с чистого интерфейса MPU-401.
Драйвер минипорта FMSynth выводит данные MIDI на синт-устройство, которое реализует синтез FM в стиле OPL3. GUID CLSID_MiniportDriverFmSynth подходит для большинства устройств synth FM. Однако устройства, такие как система звука Windows, которые не предоставляют аппаратное управление громкости после синтезатора FM, должны использовать вместо него GUID CLSID_MiniportDriverFmSynthWithVol. В Windows Server с пакетом обновления 1 (SP1) и более поздних версий драйвер минипорта FMSynth доступен только в 32-разрядных версиях операционной системы.
Драйвер минипорта UART устарел. Новый код драйвера адаптера должен использовать мини-драйвер DMusUART, который заменяет UART и реализует супермножество его функциональных возможностей.
Корпорация Майкрософт предоставляет исходный код для драйверов мини-порта DMusUART и FMSynth, которые могут служить отправной точкой для поставщиков оборудования, которым может потребоваться расширить эти драйверы для управления дополнительными возможностями устройств. Просмотрите примеры звуковых драйверов в комплекте драйверов Windows (WDK).
Дополнительные сведения о создании портов и мини-портов для вложенных параметров см. в разделе Создание subdevice.
Параметр OutMiniport следует соглашениям подсчета ссылок для объектов COM.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Системный драйвер PortCls реализует функцию PcNewMiniport в Microsoft Windows 98/Me и в Windows 2000 и более поздних операционных системах. |
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |
библиотеки | Portcls.lib |
IRQL | PASSIVE_LEVEL |