Funzione PcInitializeAdapterDriver (portcls.h)

La funzione PcInitializeAdapterDriver associa un driver di adapter al driver di sistema PortCls. I gestori IRP e gestori per l'aggiunta e la rimozione dei dispositivi vengono installati nell'oggetto driver. I driver dell'adattatore che devono essere associati a più driver di classe non devono chiamare questa funzione.

Sintassi

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

Parametri

[in] DriverObject

Puntatore all'oggetto driver, ovvero una struttura di sistema di tipo DRIVER_OBJECT. Questo puntatore viene passato come parametro alla funzione DriverEntry dell'adapter.

[in] RegistryPathName

Specifica il nome del percorso del Registro di sistema da passare come parametro alla funzione DriverEntry dell'adattatore.

[in] AddDevice

Puntatore alla funzione AddDevice dell'adattatore. Si tratta di un puntatore di tipo PDRIVER_ADD_DEVICE, definito in ntddk.h per essere:

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

Valore restituito

PcInitializeAdapterDriver restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Commenti

Il gestore AddDevice fornito nella chiamata a questa funzione deve chiamare PcAddAdapterDevice. Per altre informazioni, vedere Sequenza di avvio.

La funzione PcInitializeAdapterDriver carica i puntatori ai gestori per gli IRP seguenti nell'oggetto 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 i propri gestori interni per CREATE, PNP, POWER e SYSTEM_CONTROL IRP precedenti. Usa i gestori KS predefiniti per gli altri sette ip di integrazione.

Un driver di adattatore che sovrascrive uno o più puntatori sopra con un puntatore al proprio gestore IRP può chiamare PcDispatchIrp dall'interno della routine del gestore per inoltrare l'IRP a PortCls. Per un esempio di codice, vedere il driver audio di esempio SB16 in Microsoft Windows Driver Kit (WDK).

Requisiti

Requisito Valore
Client minimo supportato Il driver di sistema PortCls implementa la funzione PcInitializeAdapterDriver in Microsoft Windows 98/Me e nei sistemi operativi Windows 2000 e versioni successive.
Piattaforma di destinazione Universale
Intestazione portcls.h (includere Portcls.h)
Libreria Portcls.lib
IRQL PASSIVE_LEVEL

Vedi anche

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp