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