Compartilhar via


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

O método Init inicializa o objeto de miniporto 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 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 um objeto IResourceList que contém a lista de recursos do adaptador. 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.

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

Valor de retorno

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

  • Se pUnknownAdapter não forNULL, o método Init consultará o objeto pUnknownAdapter para sua interface de IInterruptSync.
  • Se pUnknownAdapter for NULL, o método Init chamará PcNewInterruptSync para criar um novo objeto IInterruptSync. Nesse caso, a lista de recursos que pResourceList 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 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 Init do objeto IPortDMus (consulte IPort::Init).

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

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho dmusicks.h (inclua Dmusicks.h)
IRQL PASSIVE_LEVEL

Consulte também

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync