estrutura SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)
Uma estrutura SCSIWMI_REQUEST_CONTEXT contém informações de contexto para um SRB WMI.
Nota
O driver de porta SCSI e os modelos de driver de miniporto SCSI podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar o de driver do Storport e miniporto storport modelos de driver.
Sintaxe
typedef struct {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
Membros
UserContext
Aponta para um buffer de driver de miniporto que contém todos os dados necessários para o driver de miniporto processar o SRB. Isso pode ser um ponteiro para a estrutura de HW_DEVICE_EXTENSION do driver de miniporto ou algum outro buffer.
BufferSize
Reservado para uso do sistema e não disponível para uso por drivers de miniporto.
Buffer
Reservado para uso do sistema e não disponível para uso por drivers de miniporto.
MinorFunction
Reservado para uso do sistema e não disponível para uso por drivers de miniporto.
ReturnStatus
Indica o status de retorno do SRB. Esse membro não é válido até que o driver de miniporto tenha chamado ScsiPortWmiPostProcess para atualizar o contexto da solicitação.
ReturnSize
Indica o número de bytes de dados transferidos para o SRB. Esse membro não é válido até que o driver de miniporto tenha chamado ScsiPortWmiPostProcess para atualizar o contexto da solicitação.
Observações
Quando o driver de miniporto recebe um SRB no qual o membro da função está definido como SRB_FUNCTION_WMI, ele chama ScsiPortWmiDispatchFunction com parâmetros de solicitação, incluindo um ponteiro para um contexto de solicitação. ScsiPortWmiDispatchFunction passa o contexto de solicitação para a rotina dede HwScsiWmixxx do driver de miniport.
Quando o driver de miniporto terminar de processar o SRB e antes de concluir o SRB, o driver de miniporto deverá chamar ScsiPortWmiPostProcess para atualizar o ReturnStatus e ReturnSize membros do contexto da solicitação. O driver de miniporto atualiza o tamanho e o status de transferência de dados do SRB para esses valores chamando ScsiPortWmiGetReturnSize e ScsiPortWmiGetReturnStatus. respectivamente.
Um contexto de solicitação deve permanecer válido durante todo o processamento de um SRB. Se o SRB puder ser pendente, o driver de miniporto deverá alocar a estrutura SCSIWMI_REQUEST_CONTEXT da extensão SRB para que ela permaneça válida até que o SRB seja concluído. Para SRBs não gastos, a estrutura pode ser alocada de um quadro de pilha que não sai do escopo.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | scsiwmi.h (inclua Scsiwmi.h) |