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

I/O 작업을 나타내는 FLT_CALLBACK_DATA 구조체에 대한 선택적 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in, optional] FileObject

I/O 작업과 연결된 파일 개체에 대한 선택적 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in, optional] Thread

우선 순위 정보를 검색할 스레드에 대한 선택적 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in, out] PriorityInfo

지정된 스레드에서 우선 순위 정보를 수신하는 데 사용되는 IO_PRIORITY_INFO 구조체에 대한 포인터입니다. IO_PRIORITY_INFO 구조체는 이 루틴에서 사용하려면 적절한 루틴에 의해 초기화되어야 합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

반환 값

FltRetrieveIoPriorityInfo 루틴은 STATUS_SUCCESS 또는 적절한 NTSTATUS 값을 반환합니다.

설명

FltRetrieveIoPriorityInfo 루틴은 우선 순위 정보를 검색하고 PriorityInfo 매개 변수가 가리키는 구조에 정보를 저장합니다.

일반적으로 FltRetrieveIoPriorityInfo 루틴은 FltApplyPriorityInfoThread 루틴과 함께 사용하여 스레드의 I/O 우선 순위, 페이징 우선 순위 및 스레드 우선 순위를 저장하고 설정합니다.

Thread 매개 변수가 NULL이 아닌 경우 스레드의 페이징 우선 순위 및 스레드 우선 순위가 검색되고 PriorityInfo 매개 변수가 가리키는 IO_PRIORITY_INFO 구조체의 PagePriority 및 ThreadPriority 멤버에 배치됩니다. Thread 매개 변수가 NULL인 경우 IO_PRIORITY_INFO 구조체의 ThreadPriorityPagePriority 멤버는 시스템에서 스레드의 페이징 및 스레드 우선 순위를 변경하지 않아야 함을 나타내는 sentinel 값으로 표시됩니다. 이러한 sentinel 값은 명시적으로 변경될 때까지 계속 적용됩니다.

다음 의사 코드 예제에서는 검색되고 PriorityInfo 매개 변수가 가리키는 IO_PRIORITY_INFO 구조체의 IoPriority 멤버에 배치되는 I/O 우선 순위 값을 설명합니다.

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.

참고

PriorityInfo 매개 변수가 가리키는 IO_PRIORITY_INFO 구조가 초기화되지 않은 경우 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