Share via


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.
Em ambos os casos, o 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

Confira também

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync