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
FltGetIoPriorityHintFromCallbackData
FltGetIoPriorityHintFromFileObject
FltGetIoPriorityHintFromThread
FltSetIoPriorityHintIntoCallbackData
FltSetIoPriorityHintIntoFileObject