Partager via


PcInitializeAdapterDriver, fonction (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 d’appareils sont installés dans l’objet de pilote. Les pilotes d’adaptateurs 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 à passer 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 comme suit :

  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 irPs suivants 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 fournisseurs 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).

Exigences

Exigence Valeur
client minimum 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 Universel
d’en-tête portcls.h (include Portcls.h)
bibliothèque Portcls.lib
IRQL PASSIVE_LEVEL

Voir aussi

AddDevice

DRIVER_OBJECT

DriverEntry

pcAddAdapterDevice

PcDispatchIrp