Structure INTERFACE (miniport.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.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | miniport.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |