FltApplyPriorityInfoThread 函数 (fltkernel.h)

微筛选器驱动程序使用 FltApplyPriorityInfoThread 例程将优先级信息应用于线程。

语法

NTSTATUS FLTAPI FltApplyPriorityInfoThread(
  [in]            PIO_PRIORITY_INFO InputPriorityInfo,
  [out, optional] PIO_PRIORITY_INFO OutputPriorityInfo,
  [in]            PETHREAD          Thread
);

参数

[in] InputPriorityInfo

指向 IO_PRIORITY_INFO 结构的指针,该结构用于设置给定线程的优先级状态。 此IO_PRIORITY_INFO结构必须由适当的例程设置其成员 - 请参阅以下“备注”部分。 此参数是必需的,不能为 NULL

[out, optional] OutputPriorityInfo

指向 IO_PRIORITY_INFO 结构的可选指针,该结构用于在 FltApplyPriorityInfoThreadInputPriorityInfo 优先级信息应用于线程之前接收线程的优先级状态。 此参数是可选的,可以为 NULL

[in] Thread

指向要在其中应用 InputPriorityInfo 优先级信息的线程的指针。 此参数是必需的,不能为 NULL

返回值

如果 InputPriorityInfo 参数指向的线程优先级信息已成功应用于给定线程, 则 FltApplyPriorityInfoThread 例程返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 值,如以下值之一:

返回代码 说明
STATUS_INVALID_PARAMETER_1
InputPriorityInfo 参数指向的结构已初始化,但其一个或多个成员值无效。 这是错误代码。

注解

此例程从 Windows Vista 开始可用。

FltApplyPriorityInfoThread 例程根据 InputPriorityInfo 参数指向的 IO_PRIORITY_INFO 结构的成员值设置给定线程的 I/O 优先级、分页优先级和线程优先级。 这允许将以前保存的一组优先级信息(由 FltRetrieveIoPriorityInfoFltApplyPriorityInfoThread 例程获取)应用于线程。

如果提供了有效的 OutputPriorityInfo 指针,则可在 FltApplyPriorityInfoThread 例程应用 InputPriorityInfo 优先级值之前保存目标线程的原始值。 请注意, OutputPriorityInfo 参数指向的结构不需要初始化。

可以安全地为 InputPriorityInfoOutputPriorityInfo 参数提供指向单个IO_PRIORITY_INFO结构的相同指针。

注意 如果尚未设置 InputPriorityInfo 参数指向的 IO_PRIORITY_INFO 结构的成员值,则必须在调用 FltApplyPriorityInfoThread 例程之前,使用以下方法之一设置这些成员:
  • 调用 FltRetrieveIoPriorityInfo 例程。
  • 确保当前 InputPriorityInfo 参数是之前调用 FltApplyPriorityInfoThread 例程中的 OutputPriorityInfo 参数。
 

要求

要求
最低受支持的客户端 在 Microsoft Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library Fltmgr.lib
IRQL <= DISPATCH_LEVEL

另请参阅

FLT_CALLBACK_DATA

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO