Função PcNewMiniport (portcls.h)

A função PcNewMiniport cria uma instância de um dos drivers de miniporto fornecidos pelo sistema que são integrados ao driver do sistema PortCls, portcls.sys. Uma ID de classe especifica qual desses drivers de miniporto será instanciado. O driver dá suporte a uma interface de miniporto derivada de IMiniport.

Sintaxe

PORTCLASSAPI NTSTATUS PcNewMiniport(
  [out] PMINIPORT *OutMiniPort,
  [in]  REFCLSID  ClassID
);

Parâmetros

[out] OutMiniPort

Ponteiro de saída para o objeto miniport-driver criado por essa função. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual a função gera uma referência ao objeto IMiniport recém-criado. Esse objeto é uma instância do driver de miniporto especificado pelo parâmetro ClassId . Especifique um valor de ponteiro não NULL válido para esse parâmetro.

[in] ClassID

Especifica a interface de miniporto que está sendo solicitada. Para obter mais informações, consulte a seção Comentários a seguir.

Retornar valor

PcNewMiniport retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Comentários

Os drivers de miniporto fornecidos pelo sistema para Sintetizadores MPU-401 UARTs e OPL3 podem ser instanciados chamando PcNewMiniport Estes são drivers de miniporto internos fornecidos com o driver do sistema portcls.sys. Os drivers de miniporta que fazem parte do driver de adaptador de um fornecedor não são criados dessa maneira.

O parâmetro ClassId pode ser definido como um dos GUIDs na tabela a seguir.

GUID Driver do System-Supplied
CLSID_MiniportDriverDMusUART Driver de miniporta DMusUART para o dispositivo sintetizador MPU-401. Expõe a interface IMiniportDMus para uso com o objeto de porta IPortDMus .
CLSID_MiniportDriverDMusUARTCapture Driver de miniporta DMusUARTCapture para o dispositivo de captura MPU-401. Expõe a interface IMiniportDMus para uso com o objeto de porta IPortDMus .
CLSID_MiniportDriverFmSynth Driver de miniporta FmSynth para dispositivo sintetizador FM. Expõe a interface IMiniportMidi para uso com o objeto de porta IPortMidi .
CLSID_MiniportDriverFmSynthWithVol O mesmo que a entrada anterior, exceto que o driver também dá suporte a um nó de volume.
CLSID_MiniportDriverUart Driver de miniporta UART para dispositivo sintetizador MPU-401. Expõe a interface IMiniportMidi para uso com o objeto de porta IPortMidi . Obsoleto.
 

Os dois primeiros GUIDs na tabela anterior são definidos no arquivo de cabeçalho dmusicks.h; os três últimos são definidos em portcls.h.

O driver de miniporto DMusUART gera dados MIDI para um dispositivo sintetizador com uma interface MIDI MPU-401 pura. Para produzir som, este dispositivo precisa de um módulo de som MIDI externo anexado a ele.

O driver de miniporto DMusUARTCapture inseriu dados MIDI de um dispositivo de captura com uma interface MPU-401 pura.

O driver de miniporto FMSynth gera dados MIDI para um dispositivo sintetizador que implementa a síntese FM no estilo OPL3. O GUID do CLSID_MiniportDriverFmSynth é apropriado para a maioria dos dispositivos sintetizadores FM. No entanto, dispositivos como o Sistema de Som do Windows que não fornecem um controle de volume de hardware após o sintetizador FM devem usar o GUID CLSID_MiniportDriverFmSynthWithVol . No Windows Server SP1 e posterior, o driver de miniporta FMSynth está disponível apenas em versões de 32 bits do sistema operacional.

O driver de miniporto UART está obsoleto. O novo código de driver do adaptador deve usar o driver de miniporto DMusUART, que substitui o UART e implementa um superconjunto de sua funcionalidade.

A Microsoft fornece o código-fonte para os drivers de miniporta DMusUART e FMSynth, que podem servir como ponto de partida para fornecedores de hardware que talvez precisem estender esses drivers para gerenciar recursos adicionais do dispositivo. Examine os drivers de áudio de exemplo no WDK (Kit de Driver do Windows).

Consulte Criação de subdispositivos Para obter mais informações sobre como criar drivers de porta e miniport para subdispositivos.

O parâmetro OutMiniport segue as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
Cliente mínimo com suporte O driver do sistema PortCls implementa a função PcNewMiniport no Microsoft Windows 98/Me e no Windows 2000 e em sistemas operacionais posteriores.
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
Biblioteca Portcls.lib
IRQL PASSIVE_LEVEL

Confira também

IMiniport

IMiniportDMus

IMiniportMidi

IPortDMus

IPortMidi