Compartilhar via


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)

Consulte também

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess