Partilhar via


Função ScsiPortWmiPostProcess (scsiwmi.h)

O ScsiPortWmiPostProcess atualiza um contexto de solicitação para um SRB WMI.

Observação 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

void ScsiPortWmiPostProcess(
  [in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
  [in] UCHAR                    SrbStatus,
  [in] ULONG                    BufferUsed
);

Parâmetros

[in] RequestContext

Um ponteiro para o contexto de solicitação para este SRB.

[in] SrbStatus

Especifica qualquer status SRB válido. Se o buffer de saída passado para o driver de miniporto for muito pequeno para conter todos os dados de uma solicitação, os conjuntos de drivers de miniporto SrbStatus para SRB_STATUS_DATA_OVERRUN.

[in] BufferUsed

Se SrbStatus indicar êxito, o driver de miniporto definirá BufferUsed para o número de bytes de dados gravados no buffer. Se SrbStatus for SRB_STATUS_DATA_OVERRUN, o driver de miniporto definirá BufferUsed para o número de bytes necessários para concluir o SRB com êxito.

Valor de retorno

Nenhum

Observações

Um driver de miniporto deve chamar ScsiPortWmiPostProcess depois que a solicitação WMI SRB for processada e estiver pronta para ser concluída.

Para SRBs síncronos, ScsiPortWmiPostProcess é chamado na rotina de retorno de chamada.

Para SRBs pendentes, ScsiPortWmiPostProcess é chamado depois que o SRB é processado e antes de ser concluído.

Se um driver de miniporto definir SrbStatus para SRB_STATUS_DATA_OVERRUN e definir BufferUsed, os SRBs WMI idênticos sucessivos com um buffer alocado igual ou maior que bufferUsed bytes deverão ter êxito. Isso deverá ser obtido se o driver definir o valor exato para BufferUsed necessário para concluir a solicitação ao chamar ScsiPortWmiPostProcess com SrbStatus igual a SRB_STATUS_DATA_OVERRUN. Para uma estrutura de saída de tamanho variável, o buffer de dados de entrada do SRB deve ter informações suficientes para determinar o valor exato bufferUsed. Se o buffer de dados de entrada não contiver informações suficientes, o driver nunca deverá falhar o mesmo SRB duas vezes com SRB_STATUS_DATA_OVERRUN. Em vez disso, o driver deve definir SRB_STATUS_DATA_OVERRUN e solicitar o tamanho mínimo necessário para o buffer de saída primeiro e, em seguida, definir SRB_STATUS_SUCCESS e indicar a falha no conteúdo do buffer de saída.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho scsiwmi.h (inclua Miniport.h, Scsi.h)

Consulte também

SCSIWMI_REQUEST_CONTEXT

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus