estructura SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)

Una estructura de SCSIWMI_REQUEST_CONTEXT contiene información de contexto para un SRB de WMI.

Nota

Los modelos de controlador de puerto SCSI y controlador de minipuerto SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar los modelos del controlador Storport y del controlador storport miniport .

Sintaxis

typedef struct {
  PVOID  UserContext;
  ULONG  BufferSize;
  PUCHAR Buffer;
  UCHAR  MinorFunction;
  UCHAR  ReturnStatus;
  ULONG  ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;

Miembros

UserContext

Apunta a un búfer de controlador de minipuerto que contiene los datos que requiere el controlador de minipuerto para procesar el SRB. Puede ser un puntero a la estructura de HW_DEVICE_EXTENSION del controlador de miniporte o a algún otro búfer.

BufferSize

Reservado para uso del sistema y no disponible para su uso por los controladores de minipuerto.

Buffer

Reservado para uso del sistema y no disponible para su uso por los controladores de minipuerto.

MinorFunction

Reservado para uso del sistema y no disponible para su uso por los controladores de minipuerto.

ReturnStatus

Indica el estado devuelto de la SRB. Este miembro no es válido hasta después de que el controlador de minipuerto haya llamado a ScsiPortWmiPostProcess para actualizar el contexto de la solicitud.

ReturnSize

Indica el número de bytes de datos transferidos para la SRB. Este miembro no es válido hasta después de que el controlador de minipuerto haya llamado a ScsiPortWmiPostProcess para actualizar el contexto de la solicitud.

Comentarios

Cuando el controlador de minipuerto recibe una SRB en la que el miembro Function está establecido en SRB_FUNCTION_WMI, llama a ScsiPortWmiDispatchFunction con parámetros de solicitud, incluido un puntero a un contexto de solicitud. ScsiPortWmiDispatchFunction pasa el contexto de solicitud a la rutina HwScsiWmiXxx adecuada del controlador de miniporte.

Cuando el controlador de minipuerto se realiza el procesamiento de la SRB y antes de completar el SRB, el controlador de minipuerto debe llamar a ScsiPortWmiPostProcess para actualizar los miembros ReturnStatus y ReturnSize del contexto de la solicitud. El controlador de minipuerto actualiza la longitud y el estado de la transferencia de datos de SRB a estos valores mediante una llamada a ScsiPortWmiGetReturnSize y ScsiPortWmiGetReturnStatus. respectivamente.

Un contexto de solicitud debe permanecer válido durante el procesamiento de una SRB. Si la SRB puede estar en lápiz, el controlador de minipuerto debe asignar la estructura SCSIWMI_REQUEST_CONTEXT de la extensión SRB para que siga siendo válida hasta que se complete el SRB. En el caso de los SRB no pendientes, la estructura se puede asignar desde un marco de pila que no sale del ámbito.

Requisitos

Requisito Valor
Header scsiwmi.h (incluya Scsiwmi.h)

Consulte también

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess