Funzione SCSIPortWmiPostProcess (SCSIwmi.h)
La routine SCSIPortWmiPostProcess aggiorna un contesto di richiesta per una SRB WMI.
Sintassi
void ScsiPortWmiPostProcess(
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] UCHAR SrbStatus,
[in] ULONG BufferUsed
);
Parametri
[in] RequestContext
Puntatore al contesto della richiesta per questa SRB.
[in] SrbStatus
Specifica qualsiasi stato SRB valido. Se il buffer di output passato al driver miniport era troppo piccolo per contenere tutti i dati di una richiesta, il driver miniport imposta SrbStatus su SRB_STATUS_DATA_OVERRUN.
[in] BufferUsed
Se SrbStatus indica l'esito positivo, il driver miniport imposta BufferUsed sul numero di byte di dati scritti nel buffer. Se SrbStatus è SRB_STATUS_DATA_OVERRUN, il driver miniport imposta BufferUsed sul numero di byte necessari per completare correttamente la SRB.
Valore restituito
nessuno
Osservazioni
Un driver miniport deve chiamare SCSIPortWmiPostProcess dopo l'elaborazione della richiesta SRB WMI ed è pronto per essere completato.
Per gli SRBs sincroni, viene chiamato SCSIPortWmiPostProcess nella routine di callback.
Per gli SRB in sospeso, SCSIPortWmiPostProcess viene chiamato dopo l'elaborazione di SRB e prima del completamento.
Se un driver miniport imposta SrbStatus su SRB_STATUS_DATA_OVERRUN e imposta BufferUsed, le SRB WMI identiche successive con un buffer allocato uguale a o maggiore di bufferUsed devono avere esito positivo. Ciò deve essere ottenuto se il driver imposta il valore esatto per BufferUsed necessario per completare la richiesta quando si chiama SCSIPortWmiPostProcess con SrbStatus uguale a SRB_STATUS_DATA_OVERRUN. Per una struttura di output di dimensioni variabili, il buffer di dati di input della SRB deve avere informazioni sufficienti per determinare il valore esatto BufferUsed . Se il buffer dati di input non contiene informazioni sufficienti, il driver non deve mai avere esito negativo dello stesso SRB due volte con SRB_STATUS_DATA_OVERRUN. Al contrario, il driver deve impostare SRB_STATUS_DATA_OVERRUN e richiedere prima le dimensioni minime necessarie per il buffer di output e quindi impostare SRB_STATUS_SUCCESS e indicare l'errore nel contenuto del buffer di output.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | SCSIwmi.h (includere Miniport.h, SCSI.h) |