Fonction FltRetrieveIoPriorityInfo (fltkernel.h)

La routine FltRetrieveIoPriorityInfo est utilisée par un pilote de minifiltre pour récupérer des informations de priorité à partir d’un thread.

Syntaxe

NTSTATUS FLTAPI FltRetrieveIoPriorityInfo(
  [in, optional] PFLT_CALLBACK_DATA Data,
  [in, optional] PFILE_OBJECT       FileObject,
  [in, optional] PETHREAD           Thread,
  [in, out]      PIO_PRIORITY_INFO  PriorityInfo
);

Paramètres

[in, optional] Data

Pointeur facultatif vers une structure FLT_CALLBACK_DATA , qui représente une opération d’E/S. Ce paramètre peut être NULL.

[in, optional] FileObject

Pointeur facultatif vers l’objet fichier associé à l’opération d’E/S. Ce paramètre peut être NULL.

[in, optional] Thread

Pointeur facultatif vers le thread à partir duquel récupérer des informations de priorité. Ce paramètre peut être NULL.

[in, out] PriorityInfo

Pointeur vers une structure de IO_PRIORITY_INFO utilisée pour recevoir les informations de priorité du thread donné. La structure IO_PRIORITY_INFO doit être initialisée par une routine appropriée avant de pouvoir être utilisée par cette routine. Pour plus d’informations, consultez la section Remarques suivante.

Valeur retournée

La routine FltRetrieveIoPriorityInfo retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée.

Remarques

La routine FltRetrieveIoPriorityInfo récupère les informations de priorité et enregistre les informations dans la structure vers laquelle pointe le paramètre PriorityInfo .

En règle générale, la routine FltRetrieveIoPriorityInfo est utilisée conjointement avec la routine FltApplyPriorityInfoThread pour enregistrer, puis définir la priorité d’E/S, la priorité de pagination et la priorité du thread d’un thread.

Si le paramètre Thread n’a pas la valeur NULL, la priorité de pagination et la priorité du thread sont récupérées et placées dans les membres PagePriority et ThreadPriority de la structure IO_PRIORITY_INFO pointées vers le paramètre PriorityInfo . Si le paramètre Thread a la valeur NULL, les membres ThreadPriority et PagePriority de la structure IO_PRIORITY_INFO sont marqués avec des valeurs sentinelles indiquant que la pagination et les priorités du thread ne doivent pas être modifiées par le système. Notez que ces valeurs sentinelles restent en vigueur jusqu’à ce qu’elles soient explicitement modifiées.

L’exemple de pseudo-code suivant décrit la valeur de priorité d’E/S récupérée et placée dans le membre IoPriority de la structure IO_PRIORITY_INFO pointée vers le paramètre PriorityInfo .

Set the IoPriority member of the structure pointed to by the PriorityInfo parameter to the normal I/O priority value.
IF Data is not NULL and represents an IRP-based operation and has I/O priority information available THEN
    Set the IoPriority member of the structure pointed to by the PriorityInfo parameter to the Data's I/O priority value.
ELSE IF the FileObject parameter is not NULL and has I/O priority information available THEN
    Set the IoPriority member of the structure pointed to by the PriorityInfo parameter to the FileObject's I/O priority value.
ELSE IF the Thread parameter is not NULL THEN
    Set the IoPriority member of the structure pointed to by the PriorityInfo parameter to the Thread's I/O priority value.

Notes

Si la structure IO_PRIORITY_INFO pointée par le paramètre PriorityInfo n’a pas été initialisée, vous devez le faire avant d’appeler cette routine, en appelant la routine IoInitializePriorityInfo .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Cette routine est disponible à partir de Windows Vista.
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque Fltmgr.lib
DLL FltMgr.sys
IRQL <= DISPATCH_LEVEL

Voir aussi

FLT_CALLBACK_DATA

FltApplyPriorityInfoThread

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO

IoInitializePriorityInfo

PsGetCurrentThread