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

O método Init inicializa o driver de porta.

Sintaxe

NTSTATUS Init(
  PVOID         DeviceObject,
  PVOID         Irp,
  PUNKNOWN      UnknownMiniport,
  PUNKNOWN      UnknownAdapter,
  PRESOURCELIST ResourceList
);

Parâmetros

DeviceObject

Ponteiro para o objeto de dispositivo que foi passado como um argumento para a rotina de inicialização do dispositivo do driver do adaptador. O objeto do dispositivo é uma estrutura do sistema do tipo DEVICE_OBJECT.

Irp

Ponteiro para o IRP que foi passado como um argumento para a rotina de inicialização do dispositivo do driver do adaptador.

UnknownMiniport

Ponteiro para a interface IUnknown do objeto miniport não inicializado. Essa interface é consultada para a interface de miniporto específica com suporte do driver de porta e a função de inicialização nessa interface é chamada.

UnknownAdapter

Ponteiro para a interface IUnknown do objeto do adaptador cujo driver de porta está sendo inicializado. Esse ponteiro é opcional e pode ser especificado como NULL. Para obter mais informações, consulte a seção Comentários a seguir.

ResourceList

Ponteiro para o objeto IResourceList que foi passado como um argumento para a rotina de inicialização do dispositivo do driver do adaptador. Depois de passar essa referência para o driver de miniporto, o driver de porta fica livre para examinar o conteúdo da lista de recursos, mas não modificará o conteúdo dessa lista.

Retornar valor

Esse método retorna NTSTATUS que contém STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, o método retorna um código de erro apropriado.

Comentários

O objeto de miniporto especificado por UnknownMiniport deve dar suporte à interface de miniporto que o driver de porta requer ou a chamada init falhará.

Durante a chamada IPort::Init, o driver de porta chama o método de inicialização do driver de miniport (por exemplo, consulte IMiniportWavePci::Init).

O parâmetro UnknownAdapter aponta para a interface COM de um objeto adaptador. O driver do adaptador normalmente cria esse objeto dentro de sua rotina de inicialização de dispositivo, que é a rotina que o sistema operacional chama para iniciar o dispositivo (consulte Sequência de Inicialização). Para obter um exemplo de uma interface para um objeto adaptador, consulte a definição e a CMiniportWaveRT::Init implementação no exemplo do driver de áudio sysvad.

Os parâmetros UnknownMiniport, UnknownAdapter e ResourceList seguem as convenções de contagem de referência padrão para objetos COM.

Requisitos

Requisito Valor
Cabeçalho portcls.h
IRQL PASSIVE_LEVEL

Confira também

Iport

IMiniportWavePci::Init