Partager via


Structure INTERFACE (wdm.h)

La structure INTERFACE décrit une interface qui est exportée par un pilote pour une utilisation par d’autres pilotes.

Syntaxe

typedef struct _INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
} INTERFACE, *PINTERFACE;

Membres

Size

Taille, en octets, d’une structure définissant une interface de pilote, y compris cette structure et les membres spécifiques de l’interface.

Version

Version de l’interface définie par le pilote.

Context

Pointeur vers des informations de contexte spécifiques à l’interface.

InterfaceReference

Pointeur vers une routine InterfaceReference fournie par le pilote qui incrémente le nombre de références de l’interface.

InterfaceDereference

Pointeur vers une routine InterfaceDereference fournie par le pilote qui décrémente le nombre de références de l’interface.

Remarques

La structure INTERFACE doit être incluse en tant que premier membre de toutes les structures qui décrivent les interfaces retournées par les pilotes en réponse à une demande de IRP_MN_QUERY_INTERFACE .

La routine InterfaceReference doit être appelée par le pilote qui exporte l’interface, chaque fois que le pilote fournit cette interface en réponse à IRP_MN_QUERY_INTERFACE. De même, si le pilote qui demande l’interface par la suite la transmet à un autre pilote, le pilote qui transmet l’interface doit appeler InterfaceReference pour le compte du pilote qui la reçoit.

Chaque pilote qui importe l’interface (que ce soit en envoyant IRP_MN_QUERY_INTERFACE ou en recevant l’interface d’un autre pilote) doit appeler la routine InterfaceDereference une fois l’interface terminée. Après avoir appelé la routine InterfaceDereference , un pilote ne peut pas utiliser à nouveau l’interface sans la réobtenir au préalable.

Lors de l’introduction d’une nouvelle version d’une interface existante, créez un GUID au lieu de réviser les champs Taille ou Version de cette structure. Pour plus d’informations, consultez Utilisation d’interfaces Driver-Defined.

Configuration requise

Condition requise Valeur
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

Voir aussi

IRP_MN_QUERY_INTERFACE

InterfaceDereference