Fonction ScsiPortWmiPostProcess (scsiwmi.h)
La routine ScsiPortWmiPostProcess met à jour un contexte de demande pour un SRB WMI.
Syntaxe
void ScsiPortWmiPostProcess(
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] UCHAR SrbStatus,
[in] ULONG BufferUsed
);
Paramètres
[in] RequestContext
Pointeur vers le contexte de requête pour ce SRB.
[in] SrbStatus
Spécifie tout état SRB valide. Si la mémoire tampon de sortie passée au pilote miniport était trop petite pour contenir toutes les données d’une requête, le pilote miniport définit SrbStatus à SRB_STATUS_DATA_OVERRUN.
[in] BufferUsed
Si SrbStatus indique la réussite, le pilote miniport définit BufferUsed le nombre d’octets de données écrits dans la mémoire tampon. Si SrbStatus est SRB_STATUS_DATA_OVERRUN, le pilote miniport définit BufferUsed le nombre d’octets requis pour terminer correctement le SRB.
Valeur de retour
Aucun
Remarques
Un pilote miniport doit appeler ScsiPortWmiPostProcess une fois la requête SRB WMI traitée et prête à être terminée.
Pour les bases de données SRB synchrones, ScsiPortWmiPostProcess est appelée dans la routine de rappel.
Pour les SRC en attente, ScsiPortWmiPostProcess est appelée après le traitement du SRB et avant sa fin.
Si un pilote miniport définit SrbStatus sur SRB_STATUS_DATA_OVERRUN et définit bufferUsed, les bases de données WMI identiques successives avec une mémoire tampon allouée égale ou supérieure à TamponUsed octets doivent réussir. Pour ce faire, si le pilote définit la valeur exacte de BufferUsed nécessaire pour terminer la requête lors de l’appel de ScsiPortWmiPostProcess avec SrbStatus égal à SRB_STATUS_DATA_OVERRUN. Pour une structure de sortie de taille variable, la mémoire tampon de données d’entrée du SRB doit avoir suffisamment d’informations pour déterminer la valeur de bufferUsed exacte. Si la mémoire tampon de données d’entrée ne contient pas suffisamment d’informations, le pilote ne doit jamais échouer deux fois avec SRB_STATUS_DATA_OVERRUN. Au lieu de cela, le pilote doit définir SRB_STATUS_DATA_OVERRUN et demander la taille minimale nécessaire pour la mémoire tampon de sortie en premier, puis définir SRB_STATUS_SUCCESS et indiquer l’échec dans le contenu de la mémoire tampon de sortie.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | scsiwmi.h (include Miniport.h, Scsi.h) |