structure PCMETHOD_ITEM (portcls.h)
La structure PCMETHOD_ITEM décrit une méthode prise en charge par un filtre, un épingle ou un nœud.
Syntaxe
typedef struct {
const GUID *Set;
ULONG Id;
ULONG Flags;
PCPFNMETHOD_HANDLER Handler;
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;
Membres
Set
Spécifie le jeu de méthodes. Ce membre est un pointeur vers un GUID qui identifie de façon unique l’ensemble de méthodes.
Id
Spécifie l’ID de méthode. Ce membre identifie un élément de méthode dans l’ensemble de méthodes. Si l’ensemble de méthodes contient n éléments, les ID de méthode valides sont des entiers de la plage 0 à n-1.
Flags
Spécifie le type de passage de paramètre et l’accès mémoire qu’une méthode utilise. Ce membre peut être défini sur l’OR au niveau du bit d’un ou plusieurs bits d’indicateur dans le tableau suivant.
Bit d’indicateur | Signification |
---|---|
PCMETHOD_ITEM_FLAG_MODIFY | La méthode lit et écrit dans la mémoire tampon de paramètres. |
PCMETHOD_ITEM_FLAG_NONE | La méthode n’utilise pas la mémoire tampon de paramètres. |
PCMETHOD_ITEM_FLAG_READ | La méthode lit à partir de la mémoire tampon de paramètres. |
PCMETHOD_ITEM_FLAG_SOURCE | La méthode sonde et verrouille les pages de mémoire avant de tenter d’accéder à la mémoire. |
PCMETHOD_ITEM_FLAG_WRITE | La méthode écrit dans la mémoire tampon de paramètres. |
Handler
Pointeur vers la routine de gestionnaire de méthodes. Ce membre est un pointeur de fonction de type PCPFNMETHOD_HANDLER, qui est défini comme suit :
typedef NTSTATUS (*PCPFNMETHOD_HANDLER)
(
IN PPCMETHOD_REQUEST MethodRequest
);
Lors de l’appel de la routine gestionnaire, l’appelant passe dans un paramètre d’appel unique, qui est un pointeur vers une structure de type PCMETHOD_REQUEST.
Remarques
Le sous-système audio WDM ne prend actuellement pas en charge les méthodes sur les instances de filtre ou les instances de broche. Cette restriction empêche également la prise en charge des méthodes sur les nœuds.
La structure PCAUTOMATION_TABLE contient un pointeur vers un tableau de structures PCMETHOD_ITEM.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | portcls.h (include Portcls.h) |