Поделиться через


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

См. также

IMiniport

IMiniportDMus

IMiniportMidi

IPortDMus

IPortMidi