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)

Consulte también

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler