Функция PcNewPort (portcls.h)
Функция PcNewPort создает новый объект драйвера портов, интерфейс которого (производный от базового класса IPort) определяется идентификатором класса.
Синтаксис
PORTCLASSAPI NTSTATUS PcNewPort(
[out] PPORT *OutPort,
[in] REFCLSID ClassID
);
Параметры
[out] OutPort
Указатель вывода для объекта port-driver, созданного этой функцией. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую функция выводит указатель на только что созданный объект IPort. Этот объект имеет интерфейс порта, указанный параметром ClassId. Укажите допустимое значение указателя, отличное от NULL, для этого параметра.
[in] ClassID
Указывает тип запрашиваемого интерфейса порта. Дополнительные сведения см. в следующем разделе "Примечания".
Возвращаемое значение
PcNewPort возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.
Замечания
Параметр ClassId можно задать для одного из идентификаторов GUID в следующей таблице.
GUID класса | Имя интерфейса порта |
---|---|
CLSID_PortDMus | |
CLSID_PortMidi | |
CLSID_PortTopology | |
CLSID_PortWaveCyclic | |
CLSID_PortWavePci | |
CLSID_PortWaveRT |
CLSID_PortDMus определен в файле заголовка dmusicks.h. Остальные четыре идентификатора GUID в предыдущей таблице определены в portcls.h.
В Microsoft Windows XP и более поздних версиях драйверы портов MIDI и DirectMusic используют ту же внутреннюю реализацию программного обеспечения. Это означает, что guid CLSID_PortMidi эквивалентен CLSID_PortDMus.
Дополнительные сведения о создании драйверов портов и мини-портов для вложенных процессов см. в создания subdevice.
Параметр OutPort следует соглашениям подсчета ссылок для объектов COM.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Системный драйвер PortCls реализует функцию PcNewPort в Microsoft Windows 98/Me и в операционных системах Windows 2000 и более поздних версий. |
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |
библиотеки | Portcls.lib |
IRQL | PASSIVE_LEVEL |