Método IMiniportMidi::Init (portcls.h)
O Init
método inicializa o objeto de miniport midi.
Sintaxe
NTSTATUS Init(
[in] PUNKNOWN UnknownAdapter,
[in] PRESOURCELIST ResourceList,
[in] PPORTMIDI Port,
[out] PSERVICEGROUP *ServiceGroup
);
Parâmetros
[in] UnknownAdapter
Ponteiro para a interface IUnknown do objeto adaptador cujo objeto miniport está sendo inicializado. Esse parâmetro é opcional e pode ser especificado como NULL. Para obter mais informações, consulte a seção Comentários a seguir.
[in] ResourceList
Ponteiro para a interface IResourceList do objeto de lista de recursos que deve ser fornecido ao driver de miniporto durante a inicialização. Depois de passar essa referência para o driver de miniporta, o driver de porta fica livre para examinar o conteúdo da lista de recursos, mas não modificará o conteúdo dessa lista. Para obter mais informações, consulte a seção Comentários a seguir.
[in] Port
Ponteiro para o objeto IPortMidi associado a esse objeto miniport. O chamador especifica um valor de ponteiro válido não NULL para esse parâmetro.
[out] ServiceGroup
Ponteiro de saída para o grupo de serviços. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual o método grava um ponteiro para a interface IServiceGroup do objeto de grupo de serviços do driver de miniport. Esse é o grupo de serviços que está sendo registrado para notificação de interrupção. O chamador especifica um valor de ponteiro válido não NULL para esse parâmetro.
Retornar valor
Init
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.
Comentários
O parâmetro UnknownAdapter é opcional:
-
Se UnknownAdapter não for NULL, o
Init
método consultará o objeto UnknownAdapter para sua interface IInterruptSync . -
Se UnknownAdapter for NULL, o
Init
método chamará PcNewInterruptSync para criar um novo objeto IInterruptSync . Nesse caso, a lista de recursos para a qual ResourceList aponta fornece o recurso de interrupção que o novo objeto IInterruptSync usa.
Init
método e chama o método RegisterServiceRoutine no objeto IInterruptSync para adicionar a ISR (rotina de serviço de interrupção) do driver de miniporta à lista de rotinas de sincronização de interrupção. Quando o driver do adaptador libera o objeto de porta posteriormente, o driver de porta libera sua referência ao objeto IInterruptSync .
Os parâmetros UnknownAdapter e ResourceList são os mesmos valores de ponteiro que o driver do adaptador anteriormente passou como parâmetros para o método Init do objeto IPortMidi (consulte IPort::Init).
Os parâmetros UnknownAdapter, ResourceList, Port e ServiceGroup seguem as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |