Compartir a través de


estructura SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)

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

Nota

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

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 del controlador de miniporte que contiene los datos que requiere el controlador de miniporte para procesar el SRB. Puede ser un puntero a la estructura HW_DEVICE_EXTENSION del controlador de miniport o a algún otro búfer.

BufferSize

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

Buffer

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

MinorFunction

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

ReturnStatus

Indica el estado devuelto de la SRB. Este miembro no es válido hasta después de que el controlador de miniport haya llamado a ScsiPortWmiPostProcess para actualizar el contexto de 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 miniport haya llamado a ScsiPortWmiPostProcess para actualizar el contexto de solicitud.

Observaciones

Cuando el controlador de miniporte recibe un SRB en el 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 de HwScsiWmi adecuada del controlador de miniporteXxx.

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

Un contexto de solicitud debe permanecer válido durante el procesamiento de un SRB. Si el SRB puede pendido, el controlador de minipuerto debe asignar la estructura SCSIWMI_REQUEST_CONTEXT de la extensión SRB para que siga siendo válido 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
encabezado de scsiwmi.h (incluya Scsiwmi.h)

Consulte también

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess