Compartilhar via


Função PcInitializeAdapterDriver (portcls.h)

A função PcInitializeAdapterDriver associa um driver de adaptador ao driver do sistema PortCls. Manipuladores e manipuladores IRP para adição e remoção de dispositivos são instalados no objeto driver. Os drivers do adaptador que precisam ser associados a mais de um driver de classe não devem chamar essa função.

Sintaxe

PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
  [in] PDRIVER_OBJECT     DriverObject,
  [in] PUNICODE_STRING    RegistryPathName,
  [in] PDRIVER_ADD_DEVICE AddDevice
);

Parâmetros

[in] DriverObject

Ponteiro para o objeto driver, que é uma estrutura do sistema do tipo DRIVER_OBJECT. Esse ponteiro é passado como um parâmetro para a função DriverEntry do adaptador.

[in] RegistryPathName

Especifica o nome do caminho do Registro que deve ser passado como um parâmetro para a função DriverEntry do adaptador.

[in] AddDevice

Ponteiro para a função AddDevice do adaptador. Esse é um ponteiro do tipo PDRIVER_ADD_DEVICE, que é definido em ntddk.h para ser:

  NTSTATUS
    (*PDRIVER_ADD_DEVICE)(
      IN struct _DRIVER_OBJECT  *DriverObject,
      IN struct _DEVICE_OBJECT  *PhysicalDeviceObject
        );

Retornar valor

PcInitializeAdapterDriver retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Comentários

O manipulador AddDevice fornecido na chamada para essa função deve chamar PcAddAdapterDevice. Para obter mais informações, consulte Sequência de inicialização.

A função PcInitializeAdapterDriver carrega ponteiros para manipuladores para os seguintes IRPs no objeto driver:

  • IRP_MJ_CLOSE
  • IRP_MJ_CREATE
  • IRP_MJ_DEVICE_CONTROL
  • IRP_MJ_FLUSH_BUFFERS
  • IRP_MJ_PNP
  • IRP_MJ_POWER
  • IRP_MJ_QUERY_SECURITY
  • IRP_MJ_READ
  • IRP_MJ_SET_SECURITY
  • IRP_MJ_SYSTEM_CONTROL
  • IRP_MJ_WRITE
PortCls usa seus próprios manipuladores internos para o CREATE, PNP, POWER e SYSTEM_CONTROL IRPs acima. Ele usa os manipuladores de KS padrão para os outros sete IRPs.

Um driver de adaptador que substitui um ou mais ponteiros acima por um ponteiro para seu próprio manipulador IRP pode chamar PcDispatchIrp de dentro de sua rotina de manipulador para encaminhar o IRP para PortCls. Para obter um exemplo de código, consulte o driver de áudio de exemplo SB16 no WDK (Microsoft Windows Driver Kit).

Requisitos

Requisito Valor
Cliente mínimo com suporte O driver do sistema PortCls implementa a função PcInitializeAdapterDriver no Microsoft Windows 98/Me e nos sistemas operacionais Windows 2000 e posteriores.
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
Biblioteca Portcls.lib
IRQL PASSIVE_LEVEL

Confira também

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp