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