Fonction PcInitializeAdapterDriver (portcls.h)

La fonction PcInitializeAdapterDriver lie un pilote d’adaptateur au pilote système PortCls. Les gestionnaires et gestionnaires IRP pour l’ajout et la suppression de périphériques sont installés dans l’objet pilote. 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 pilote, 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 du Registre à transmettre 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é.

Remarques

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 adresses IRP suivantes dans l’objet de pilote :

  • 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 runtimes d’intégration CREATE, PNP, POWER et SYSTEM_CONTROL ci-dessus. Il utilise les gestionnaires KS par défaut pour les sept autres irPs.

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

Configuration requise

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

Voir aussi

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp