KSMETHOD_ITEM estructura (ks.h)
La estructura KSMETHOD_ITEM describe un único método dentro de un conjunto de métodos.
Sintaxis
typedef struct {
ULONG MethodId;
union {
PFNKSHANDLER MethodHandler;
BOOLEAN MethodSupported;
};
ULONG MinMethod;
ULONG MinData;
PFNKSHANDLER SupportHandler;
ULONG Flags;
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;
Miembros
MethodId
Especifica el identificador de este método dentro de su conjunto de métodos.
MethodHandler
Puntero a una rutina de devolución de llamada KStrMethodHandler proporcionada por minidriver.
MethodSupported
Especifica si este método es compatible o no.
MinMethod
Especifica el tamaño mínimo del búfer necesario para especificar completamente el método. Este tamaño es al menos sizeof(KSMETHOD) bytes.
MinData
Especifica el búfer de tamaño mínimo necesario para especificar el búfer de datos del método. Este búfer se usa para leer o escribir información relacionada con el método .
SupportHandler
Puntero a una rutina de devolución de llamada KStrSupportHandler proporcionada por minidriver.
Flags
Especifica el tipo de solicitud de esta solicitud de método.
Valor | Tipo de solicitud de método |
---|---|
KSMETHOD_TYPE_NONE | Indica que no se espera que se use el búfer de datos del controlador. En el caso de los métodos almacenados en búfer, aunque se asigna espacio, no se copia ningún dato en el búfer del sistema o desde él. Cuando está en modo de origen (KSMETHOD_TYPE_SOURCE), no se crea ningún MDL. |
KSMETHOD_TYPE_READ | Indica que se espera que los parámetros se lean desde el búfer de datos del controlador. Cuando se almacena en búfer, los datos se copian en el búfer del sistema. Cuando está en modo de origen, los datos se sondea y se bloquean para IoReadAccess. |
KSMETHOD_TYPE_WRITE | Indica que se espera que los parámetros se escriban en el búfer de datos del controlador. Cuando se almacena en búfer, los datos se copian del búfer del sistema. Cuando está en modo de origen, los datos se sondeen y bloquean para IoWriteAccess. |
KSMETHOD_TYPE_MODIFY | Indica que se espera que los parámetros se lean y escriban en el búfer de datos del controlador. Los datos pasados se sobrescriben mediante los datos devueltos. Esto podría implicar que una estructura pasada podría ser simplemente actualizada. Cuando se almacena en búfer, los datos se copian en el búfer del sistema y se copian de nuevo cuando se completa el IRP. Cuando está en modo de origen, los datos se sondea y se bloquean para IoModifyAccess. |
KSMETHOD_TYPE_SOURCE | Indica que el método se va a procesar en modo de origen. Se asigna una MDL y los datos se sondeen y bloquean. Para indicar un método almacenado en búfer, O esta marca con otras marcas de esta lista. |
Comentarios
Un minidriver usa la estructura KSMETHOD_ITEM para definir métodos en un conjunto de métodos. El minidriver implementa métodos y usa el miembro MethodHandler para apuntar a estos métodos. A continuación, un cliente puede usar la solicitud de IOCTL_KS_METHOD junto con la estructura KSMETHOD para ejecutar métodos en un objeto de streaming de kernel que controla el minidriver. Para obtener más información, vea KS Methods.
Requisitos
Requisito | Valor |
---|---|
Header | ks.h (incluye Ks.h) |