Compartilhar via


Método IMiniportMidi::Init (portcls.h)

O método Init inicializa o objeto de miniporto 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 do adaptador cujo objeto de miniporto 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 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 miniporto, o driver de porta é livre para examinar o conteúdo da lista de recursos, mas não modificará o conteúdo desta 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 de miniporto. O chamador especifica um valor de ponteiro NULL NULL válido 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 por chamador na qual o método grava um ponteiro na interface IServiceGroup do objeto do grupo de serviços do driver de miniporto. Esse é o grupo de serviços que está sendo registrado para notificação de interrupção. O chamador especifica um valor de ponteiro NULL NULL válido para esse parâmetro.

Valor de retorno

Init retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.

Observações

O parâmetro UnknownAdapter é opcional:

  • Se UnknownAdapter não forNULL, o método Init consultará o objeto UnknownAdapter para sua interface de IInterruptSync.
  • Se UnknownAdapter for NULL, o método Init chamará PcNewInterruptSync para criar um novo objeto IInterruptSync. Nesse caso, a lista de recursos que ResourceList aponta para fornecer o recurso de interrupção que o novo objeto IInterruptSync usa.
Em ambos os casos, o método Init e chama o método RegisterServiceRoutine no objeto IInterruptSync a fim de adicionar a ISR (rotina de serviço de interrupção) do driver de miniporto à 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 do objeto IPortMidi do IPortMidi (consulte IPort::Init).

Os parâmetros UnknownAdapter, ResourceList, Porte ServiceGroup seguem as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho portcls.h (inclua Portcls.h)
IRQL PASSIVE_LEVEL

Consulte também

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync