FltRetrieveIoPriorityInfo, fonction (fltkernel.h)
La routine FltRetrieveIoPriorityInfo est utilisée par un pilote minifilter 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 de fichier associé à l’opération d’E/S. Ce paramètre peut être NULL.
[in, optional] Thread
Pointeur facultatif vers le thread dans lequel récupérer des informations de priorité. Ce paramètre peut être NULL.
[in, out] PriorityInfo
Pointeur vers une structure 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 suivantes.
Valeur de retour
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 pointée par 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 d’un thread, la priorité de pagination et la priorité de thread.
Si le paramètre Thread n’est pasNULL, la priorité de pagination et la priorité de thread du thread sont récupérées et placées dans le PagePriority et membres threadPriority de la structure IO_PRIORITY_INFO pointée par le paramètre PriorityInfo . Si le paramètre thread est NULL, le ThreadPriority et les membres PagePriority de la structure IO_PRIORITY_INFO sont marqués avec des valeurs sentinelles indiquant que les priorités de pagination et de thread du thread ne doivent pas être modifiées par le système. Notez que ces valeurs sentinelles restent en vigueur jusqu’à ce qu’elles changent explicitement.
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 par 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.
Note
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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Cette routine est disponible à partir de Windows Vista. |
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | Fltmgr.lib |
DLL | FltMgr.sys |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
FltGetIoPriorityHintFromCallbackData
FltGetIoPriorityHintFromFileObject
FltGetIoPriorityHintFromThread
FltSetIoPriorityHintIntoCallbackData
FltSetIoPriorityHintIntoFileObject