Compartilhar via


Método IMiniportDMus::Init (dmusicks.h)

O Init método inicializa o objeto miniport DMus.

Sintaxe

NTSTATUS Init(
  [in, optional] PUNKNOWN      UnknownAdapter,
  [in]           PRESOURCELIST ResourceList,
  [in]           PPORTDMUS     Port,
  [out]          PSERVICEGROUP *ServiceGroup
);

Parâmetros

[in, optional] 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 um objeto IResourceList que contém a lista de recursos do adaptador. 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.

[in] Port

Ponteiro para um objeto IPortDMus que fornece a interface de retorno de chamada do driver de porta.

[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 este driver de miniporta deseja ter usado para chamadas para IPortDMus::Notify.

Retornar valor

Init retornará S_OK 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 pUnknownAdapter é opcional:

  • Se pUnknownAdapter não for NULL, o Init método consultará o objeto pUnknownAdapter para sua interface IInterruptSync .
  • Se pUnknownAdapter for NULL, o Init método chamará PcNewInterruptSync para criar um novo objeto IInterruptSync . Nesse caso, a lista de recursos para a qual pResourceList 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 ISRs. 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 pUnknownAdapter e pResourceList são os mesmos valores de ponteiro que o driver do adaptador anteriormente passou como parâmetros para o método do Init objeto IPortDMus (consulte IPort::Init).

Os parâmetros pUnknownAdapter, pResourceList, pPort e ppServiceGroup seguem as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dmusicks.h (inclua Dmusicks.h)
IRQL PASSIVE_LEVEL

Confira também

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync