FltRetrieveIoPriorityInfo-Funktion (fltkernel.h)

Die FltRetrieveIoPriorityInfo-Routine wird von einem Minifiltertreiber verwendet, um Prioritätsinformationen aus einem Thread abzurufen.

Syntax

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

Parameter

[in, optional] Data

Ein optionaler Zeiger auf eine FLT_CALLBACK_DATA-Struktur , die einen E/A-Vorgang darstellt. Dieser Parameter kann NULL sein.

[in, optional] FileObject

Ein optionaler Zeiger auf das Dateiobjekt, das dem E/A-Vorgang zugeordnet ist. Dieser Parameter kann NULL sein.

[in, optional] Thread

Ein optionaler Zeiger auf den Thread, aus dem Prioritätsinformationen abgerufen werden sollen. Dieser Parameter kann NULL sein.

[in, out] PriorityInfo

Ein Zeiger auf eine IO_PRIORITY_INFO Struktur, die zum Empfangen der Prioritätsinformationen aus dem angegebenen Thread verwendet wird. Die IO_PRIORITY_INFO-Struktur muss von einer entsprechenden Routine initialisiert werden, bevor sie von dieser Routine verwendet werden kann. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Rückgabewert

Die FltRetrieveIoPriorityInfo-Routine gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück.

Hinweise

Die FltRetrieveIoPriorityInfo-Routine ruft Prioritätsinformationen ab und speichert die Informationen in der Struktur, auf die der PriorityInfo-Parameter verweist.

In der Regel wird die FltRetrieveIoPriorityInfo-Routine in Verbindung mit der FltApplyPriorityInfoThread-Routine verwendet, um die E/A-Priorität, die Pagingpriorität und die Threadpriorität eines Threads zu speichern und dann festzulegen.

Wenn der Thread-Parameter nicht NULL ist, werden die Pagingpriorität und Threadpriorität des Threads abgerufen und in den Membern PagePriority und ThreadPriority der IO_PRIORITY_INFO Struktur platziert, auf die der PriorityInfo-Parameter verweist. Wenn der Thread-ParameterNULL ist, werden die ThreadPriority - und PagePriority-Member der IO_PRIORITY_INFO-Struktur mit Sentinelwerten gekennzeichnet, die angeben, dass die Paging- und Threadprioritätspriorität des Threads vom System nicht geändert werden sollen. Beachten Sie, dass diese Sentinelwerte bis zur expliziten Änderung in Kraft bleiben.

Im folgenden Pseudocodebeispiel wird beschrieben, welcher E/A-Prioritätswert abgerufen und im IoPriority-Element der IO_PRIORITY_INFO Struktur platziert wird, auf die der PriorityInfo-Parameter verweist.

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.

Hinweis

Wenn die IO_PRIORITY_INFO Struktur, auf die der PriorityInfo-Parameter verweist, nicht initialisiert wurde, müssen Sie dies vor dem Aufrufen dieser Routine tun, indem Sie die IoInitializePriorityInfo-Routine aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Diese Routine ist ab Windows Vista verfügbar.
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek Fltmgr.lib
DLL FltMgr.sys
IRQL <= DISPATCH_LEVEL

Weitere Informationen

FLT_CALLBACK_DATA

FltApplyPriorityInfoThread

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO

IoInitializePriorityInfo

PsGetCurrentThread