structure KSMETHOD_ITEM (ks.h)
La structure KSMETHOD_ITEM décrit une méthode unique au sein d’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 KStrMethodHandler fournie par minidriver.
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 d’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 une routine de rappel KStrSupportHandler fournie par minidriver.
Flags
Spécifie le type de demande de cette demande de méthode.
Valeur | Type de demande 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 à partir de la mémoire tampon système. En mode source (KSMETHOD_TYPE_SOURCE), aucune MDL n’est créée. |
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 sondées et verrouillées pour IoReadAccess. |
KSMETHOD_TYPE_WRITE | Indique que les paramètres sont censés être écrits dans la mémoire tampon de données 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 sondé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 de données du gestionnaire. Les données transmises sont remplacées par les données retournées. Cela peut impliquer qu’une structure transmise puisse être simplement mise à jour. Lorsqu’elles sont mises en mémoire tampon, les données sont copiées dans la mémoire tampon système et copiées une fois l’IRP terminée. En mode source, les données sont sondées et verrouillées pour IoModifyAccess. |
KSMETHOD_TYPE_SOURCE | Indique que la méthode doit être traitée en mode source. Une MDL est allouée 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 streaming de noyau que le minidriver gère. Pour plus d’informations, consultez Méthodes KS.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ks.h (inclure Ks.h) |