PcInitializeAdapterDriver, fonction (Portcls. h)

La fonction PcInitializeAdapterDriver lie un pilote d’adaptateur au pilote du système PortCls. Les gestionnaires et gestionnaires IRP pour l’ajout et la suppression d’appareils sont installés dans l’objet Driver. Les pilotes d’adaptateur qui doivent être liés à plusieurs pilotes de classe ne doivent pas appeler cette fonction.

Syntaxe

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

Paramètres

[in] DriverObject

Pointeur vers l’objet Driver, qui est une structure système de type DRIVER_OBJECT. Ce pointeur est passé en tant que paramètre à la fonction DriverEntry de l’adaptateur.

[in] RegistryPathName

Spécifie le nom du chemin d’accès au registre qui doit être transmis en tant que paramètre à la fonction DriverEntry de l’adaptateur.

[in] AddDevice

Pointeur vers la fonction AddDevice de l’adaptateur. Il s’agit d’un pointeur de type PDRIVER_ADD_DEVICE, qui est défini dans Ntddk. h pour être :

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

Valeur de retour

PcInitializeAdapterDriver retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.

Notes

Le gestionnaire AddDevice fourni dans l’appel à cette fonction doit appeler PcAddAdapterDevice. Pour plus d’informations, consultez séquence de démarrage.

La fonction PcInitializeAdapterDriver charge des pointeurs vers des gestionnaires pour les IRP suivants dans l’objet 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 utilise ses propres gestionnaires internes pour les IRP CREATe, PNP, POWER et SYSTEM_CONTROL ci-dessus. Elle utilise les gestionnaires KS par défaut pour les sept autres IRP.

Un pilote de carte qui remplace un ou plusieurs des pointeurs ci-dessus par un pointeur vers son propre gestionnaire IRP peut appeler PcDispatchIrp à partir de sa routine de gestion afin de transférer l’IRP à PortCls. pour obtenir un exemple de code, consultez l’exemple de pilote audio SB16 dans le Kit de pilotes de Windows Microsoft (WDK).

Spécifications

   
Client minimal pris en charge le pilote système PortCls implémente la fonction PcInitializeAdapterDriver dans Microsoft Windows 98/Me et les systèmes d’exploitation Windows 2000 et versions ultérieures.
Plateforme cible Universal
En-tête Portcls. h (inclure Portcls. h)
Bibliothèque Portcls. lib
NIVEAU PASSIVE_LEVEL

Voir aussi

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp