Partager via


structure KSMETHOD_ITEM (ks.h)

La structure KSMETHOD_ITEM décrit une méthode unique dans un jeu de méthodes.

Syntaxe

typedef struct {
  ULONG        MethodId;
  union {
    PFNKSHANDLER MethodHandler;
    BOOLEAN      MethodSupported;
  };
  ULONG        MinMethod;
  ULONG        MinData;
  PFNKSHANDLER SupportHandler;
  ULONG        Flags;
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;

Membres

MethodId

Spécifie l’identificateur de cette méthode dans son jeu de méthodes.

MethodHandler

Pointeur vers une routine de rappel fournie par minidriver KStrMethodHandler.

MethodSupported

Spécifie si cette méthode est prise en charge ou non.

MinMethod

Spécifie la taille minimale de la mémoire tampon requise pour spécifier complètement la méthode. Cette taille est au moins sizeof(KSMETHOD) octets.

MinData

Spécifie la mémoire tampon de taille minimale requise pour spécifier la mémoire tampon de données de méthode. Cette mémoire tampon est utilisée pour lire et/ou écrire des informations relatives à la méthode.

SupportHandler

Pointeur vers un minidriver fourni KStrSupportHandler routine de rappel.

Flags

Spécifie le type de requête de cette requête de méthode.

Valeur Type de requête de méthode
KSMETHOD_TYPE_NONE Indique que la mémoire tampon de Données du gestionnaire n’est pas censée être utilisée. Pour les méthodes mises en mémoire tampon, bien que l’espace soit alloué, aucune donnée n’est copiée vers ou depuis la mémoire tampon système. En mode source (KSMETHOD_TYPE_SOURCE), aucun MDL n’est créé.
KSMETHOD_TYPE_READ Indique que les paramètres sont censés être lus à partir de la mémoire tampon de Données du gestionnaire. Lorsqu’elles sont mises en mémoire tampon, les données sont copiées dans la mémoire tampon système. En mode source, les données sont interrogées et verrouillées pour IoReadAccess.
KSMETHOD_TYPE_WRITE Indique que les paramètres doivent être écrits dans la mémoire tampon Data du gestionnaire. Lorsqu’elles sont mises en mémoire tampon, les données sont copiées à partir de la mémoire tampon système. En mode source, les données sont interrogées et verrouillées pour IoWriteAccess.
KSMETHOD_TYPE_MODIFY Indique que les paramètres sont censés être lus et écrits dans la mémoire tampon Data du gestionnaire. Les données transmises sont remplacées par les données retournées. Cela peut impliquer qu’une structure passée puisse simplement être mise à jour. Lorsqu’elles sont mises en mémoire tampon, les données sont copiées dans la mémoire tampon du système et copiées à la fin de l’IRP. En mode source, les données sont interrogées et verrouillées pour IoModifyAccess.
KSMETHOD_TYPE_SOURCE Indique que la méthode doit être traitée en mode source. Un MDL est alloué et les données sont sondées et verrouillées. Pour indiquer une méthode mise en mémoire tampon, OU cet indicateur avec d’autres indicateurs de cette liste.

Remarques

Un minidriver utilise la structure KSMETHOD_ITEM pour définir des méthodes dans un jeu de méthodes. Le minidriver implémente des méthodes et utilise le membre MethodHandler pour pointer vers ces méthodes. Un client peut ensuite utiliser la requête IOCTL_KS_METHOD avec la structure KSMETHOD pour exécuter des méthodes sur un objet de diffusion en continu du noyau géré par le minidriver. Pour plus d’informations, consultez méthodes KS.

Exigences

Exigence Valeur
d’en-tête ks.h (include Ks.h)

Voir aussi

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler