PcNewMiniport 함수(portcls.h)
PcNewMiniport 함수는 portcls.sys PortCls 시스템 드라이버에 기본 제공되는 시스템 제공 미니포트 드라이버 중 하나의 instance 만듭니다. 클래스 ID는 이러한 미니포트 드라이버 중 인스턴스화할 드라이버를 지정합니다. 드라이버는 IMiniport에서 파생된 미니포트 인터페이스를 지원합니다.
구문
PORTCLASSAPI NTSTATUS PcNewMiniport(
[out] PMINIPORT *OutMiniPort,
[in] REFCLSID ClassID
);
매개 변수
[out] OutMiniPort
이 함수에서 만든 미니포트 드라이버 개체에 대한 출력 포인터입니다. 이 매개 변수는 함수가 새로 만든 IMiniport 개체에 대한 참조를 출력하는 호출자 할당 포인터 변수를 가리킵니다. 이 개체는 ClassId 매개 변수로 지정된 미니포트 드라이버의 instance. 이 매개 변수에 유효한 NULL이 아닌 포인터 값을 지정합니다.
[in] ClassID
요청되는 미니포트 인터페이스를 지정합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
반환 값
PcNewMiniport 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다.
설명
MPU-401 UART 및 OPL3 신시사이저용 시스템 제공 미니포트 드라이버는 PcNewMiniport 를 호출하여 인스턴스화할 수 있습니다. 이러한 드라이버는 portcls.sys 시스템 드라이버와 함께 제공되는 기본 제공 미니포트 드라이버입니다. 공급업체 어댑터 드라이버의 일부인 미니포트 드라이버는 이러한 방식으로 만들어지지 않습니다.
ClassId 매개 변수는 다음 표의 GUID 중 하나로 설정할 수 있습니다.
GUID | System-Supplied 드라이버 |
---|---|
CLSID_MiniportDriverDMusUART | MPU-401 신디사이저 디바이스용 DMusUART 미니포트 드라이버입니다. IPortDMus 포트 개체에 사용할 IMiniportDMus 인터페이스를 노출합니다. |
CLSID_MiniportDriverDMusUARTCapture | MPU-401 캡처 디바이스용 DMusUARTCapture 미니포트 드라이버입니다. IPortDMus 포트 개체에 사용할 IMiniportDMus 인터페이스를 노출합니다. |
CLSID_MiniportDriverFmSynth | FM 신디사이저 디바이스용 FmSynth 미니포트 드라이버입니다. IPortMidi 포트 개체에 사용할 IMiniportMidi 인터페이스를 노출합니다. |
CLSID_MiniportDriverFmSynthWithVol | 드라이버가 볼륨 노드도 지원한다는 점을 제외하고 이전 항목과 동일합니다. |
CLSID_MiniportDriverUart | MPU-401 신디사이저 디바이스용 UART 미니포트 드라이버입니다. IPortMidi 포트 개체에 사용할 IMiniportMidi 인터페이스를 노출합니다. 사용되지 않습니다. |
앞의 표에 있는 처음 두 GUID는 헤더 파일 dmusicks.h에 정의되어 있습니다. 마지막 세 가지는 portcls.h에 정의됩니다.
DMusUART 미니포트 드라이버는 순수 MPU-401 MIDI 인터페이스를 사용하여 MIDI 데이터를 신디사이저 디바이스에 출력합니다. 소리를 생성하려면 이 디바이스에 외부 MIDI 사운드 모듈이 연결되어 있어야 합니다.
DMusUARTCapture 미니포트 드라이버는 순수 MPU-401 인터페이스를 사용하여 캡처 디바이스에서 MIDI 데이터를 입력합니다.
FMSynth 미니포트 드라이버는 OPL3 스타일 FM 합성을 구현하는 신디사이저 디바이스에 MIDI 데이터를 출력합니다. CLSID_MiniportDriverFmSynth GUID는 대부분의 FM 신디사이저 디바이스에 적합합니다. 그러나 FM 신디사이저 후에 하드웨어 볼륨 제어를 제공하지 않는 Windows 사운드 시스템과 같은 디바이스는 대신 CLSID_MiniportDriverFmSynthWithVol GUID를 사용해야 합니다. Windows Server SP1 이상에서 FMSynth 미니포트 드라이버는 운영 체제의 32비트 버전에서만 사용할 수 있습니다.
UART 미니포트 드라이버는 사용되지 않습니다. 새 어댑터 드라이버 코드는 UART를 대체하고 해당 기능의 상위 집합을 구현하는 DMusUART 미니포트 드라이버를 사용해야 합니다.
Microsoft는 DMusUART 및 FMSynth 미니포트 드라이버에 대한 소스 코드를 제공합니다. 이 소스 코드는 추가 디바이스 기능을 관리하기 위해 이러한 드라이버를 확장해야 할 수 있는 하드웨어 공급업체의 시작점 역할을 할 수 있습니다. WDK(Windows 드라이버 키트)에서 샘플 오디오 드라이버를 확인합니다.
하위 서비스에 대한 포트 및 미니포트 드라이버를 만드는 방법에 대한 자세한 내용은 하위 서비스 만들기를 참조하세요.
OutMiniport 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | PortCls 시스템 드라이버는 Microsoft Windows 98/Me 및 Windows 2000 이상 운영 체제에서 PcNewMiniport 함수를 구현합니다. |
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
라이브러리 | Portcls.lib |
IRQL | PASSIVE_LEVEL |