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) |