PCMETHOD_ITEM structure (portcls.h)
La structure PCMETHOD_ITEM décrit une méthode prise en charge par un filtre, une broche 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 l’ensemble 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 la méthode. Ce membre identifie un élément de méthode dans l’ensemble de méthodes. Si le jeu de méthodes contient n éléments, les ID de méthode valides sont des entiers compris entre 0 et n-1.
Flags
Spécifie le type de passage de paramètre et d’accès à la mémoire qu’une méthode utilise. Ce membre peut être défini sur or au niveau du bit d’un ou plusieurs des 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ètre. |
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 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 du 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 Handler , l’appelant passe un seul paramètre d’appel, 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 exclut é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.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | portcls.h (include Portcls.h) |