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 구조체의 ThreadPriority 및 PagePriority 멤버는 시스템에서 스레드의 페이징 및 스레드 우선 순위를 변경해서는 안 됨을 나타내는 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 |
참고 항목
FltGetIoPriorityHintFromCallbackData
FltGetIoPriorityHintFromFileObject
FltGetIoPriorityHintFromThread
FltSetIoPriorityHintIntoCallbackData
FltSetIoPriorityHintIntoFileObject