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


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

IPortDMus

CLSID_PortMidi

IPortMidi

CLSID_PortTopology

IPortTopology

CLSID_PortWaveCyclic

IPortWaveCyclic

CLSID_PortWavePci

IPortWavePci

CLSID_PortWaveRT

IPortWaveRT

 

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

См. также

IPort

IPortDMus

IPortMidi

IPortTopology

IPortWaveCyclic

IPortWavePci

IPortWaveRT