Функция FltRetrieveIoPriorityInfo (fltkernel.h)

Подпрограмма FltRetrieveIoPriorityInfo используется драйвером минифильтра для получения сведений о приоритете из потока.

Синтаксис

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

Параметры

[in, optional] Data

Необязательный указатель на структуру FLT_CALLBACK_DATA , представляющую операцию ввода-вывода. Этот параметр может принимать значение NULL.

[in, optional] FileObject

Необязательный указатель на объект файла, связанный с операцией ввода-вывода. Этот параметр может принимать значение NULL.

[in, optional] Thread

Необязательный указатель на поток, из которого извлекаются сведения о приоритете. Этот параметр может принимать значение NULL.

[in, out] PriorityInfo

Указатель на структуру IO_PRIORITY_INFO , используемую для получения сведений о приоритете из заданного потока. Структура IO_PRIORITY_INFO должна быть инициализирована соответствующей подпрограммой, прежде чем она может быть использована этой подпрограммой. Дополнительные сведения см. в следующем разделе Примечаний.

Возвращаемое значение

Подпрограмма FltRetrieveIoPriorityInfo возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS.

Комментарии

Подпрограмма FltRetrieveIoPriorityInfo извлекает сведения о приоритете и сохраняет сведения в структуре, на которую указывает параметр PriorityInfo .

Как правило, подпрограмма FltRetrieveIoPriorityInfo используется вместе с подпрограммой FltApplyPriorityInfoThread для сохранения, а затем задания приоритета ввода-вывода потока, приоритета разбиения на страницах и приоритета потока.

Если параметр Thread не равен NULL, приоритет разбиения потока на страницы и приоритет потока будут извлечены и помещены в элементы PagePriority и ThreadPriority структуры IO_PRIORITY_INFO, на которую указывает параметр PriorityInfo . Если параметр Thread имеет значение NULL, члены ThreadPriority и PagePriority структуры IO_PRIORITY_INFO помечаются значениями sentinel, указывающими, что система не должна изменять приоритеты потоков и разбиения на страницы. Обратите внимание, что эти значения sentinel остаются в силе до явного изменения.

В следующем примере псевдокода описывается, какое значение приоритета ввода-вывода извлекается и помещается в элемент IoPriority структуры IO_PRIORITY_INFO, на которую указывает параметр 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.

Примечание

Если структура IO_PRIORITY_INFO, на которую указывает параметр PriorityInfo , не инициализирована, необходимо сделать это перед вызовом этой подпрограммы, вызвав подпрограмму IoInitializePriorityInfo .

Требования

Требование Значение
Минимальная версия клиента Эта подпрограмма доступна, начиная с Windows Vista.
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека Fltmgr.lib
DLL FltMgr.sys
IRQL <= DISPATCH_LEVEL

См. также раздел

FLT_CALLBACK_DATA

FltApplyPriorityInfoThread

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO

IoInitializePriorityInfo

PsGetCurrentThread