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 por 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 válido, não NULL, 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.
Valor de retorno
PcNewMiniport retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.
Observações
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 miniport que fazem parte do driver do adaptador de um fornecedor não são criados dessa forma.
O parâmetro ClassId pode ser definido como um dos GUIDs na tabela a seguir.
GUID | Driver System-Supplied |
---|---|
CLSID_MiniportDriverDMusUART | Driver de miniporto DMusUART para dispositivo de sintetizador MPU-401. Expõe interface de IMiniportDMus para uso com objeto de porta IPortDMus. |
CLSID_MiniportDriverDMusUARTCapture | Driver de miniporto DMusUARTCapture para dispositivo de captura MPU-401. Expõe interface de IMiniportDMus para uso com objeto de porta IPortDMus. |
CLSID_MiniportDriverFmSynth | Driver de miniporto FmSynth para o dispositivo de sintetizador FM. Expõe interface de IMiniportMidi para uso com objeto de porta IPortMidi. |
CLSID_MiniportDriverFmSynthWithVol | Igual à entrada anterior, exceto que o driver também dá suporte a um nó de volume. |
CLSID_MiniportDriverUart | Driver de miniporto UART para o dispositivo de sintetizador MPU-401. Expõe interface de IMiniportMidi para uso com 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 de sintetizador com uma interface MIDI MPU-401 pura. Para produzir som, esse dispositivo precisa de um módulo de som MIDI externo anexado a ele.
O driver de miniporto DMusUARTCapture insira dados MIDI de um dispositivo de captura com uma interface MPU-401 pura.
O driver de miniporto FMSynth gera dados MIDI para um dispositivo de sintetizador que implementa a síntese FM no estilo OPL3. O GUID de CLSID_MiniportDriverFmSynth é apropriado para a maioria dos dispositivos de sintetizador 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 miniporto 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 do 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 miniporto 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 (Windows Driver Kit).
Consulte de Criação de Subdevice para obter mais informações sobre como criar drivers de porta e de miniporto para subdevices.
O parâmetro OutMiniport segue as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | O driver do sistema PortCls implementa a função PcNewMiniport no Microsoft Windows 98/Me e no Windows 2000 e em sistemas operacionais posteriores. |
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
biblioteca | Portcls.lib |
IRQL | PASSIVE_LEVEL |