Freigeben über


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 geeigneten Routine initialisiert werden, bevor sie von dieser Routine verwendet werden kann. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

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

Bemerkungen

Die FltRetrieveIoPriorityInfo Routine ruft Prioritätsinformationen ab und speichert die Informationen in der Struktur, auf die der parameter PriorityInfo 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 parameter Thread- nichtNULL-ist, wird die Pagingpriorität und threadpriorität des Threads abgerufen und in der PagePriority- und ThreadPriority Member der IO_PRIORITY_INFO Struktur abgerufen, auf die der PriorityInfo Parameter verweist. Wenn der Thread--Parameter NULL-ist, werden die ThreadPriority- und PagePriority-Elemente der IO_PRIORITY_INFO-Struktur mit Sentinelwerten gekennzeichnet, die angeben, dass die Paging- und Threadpriorität des Threads nicht vom System geändert werden sollten. Beachten Sie, dass diese Sentinelwerte bis zur expliziten Änderung wirksam bleiben.

Im folgenden Pseudocodebeispiel wird beschrieben, auf welchen E/A-Prioritätswert abgerufen und in das IoPriority- Element der IO_PRIORITY_INFO-Struktur gesetzt wird, auf das der parameter PriorityInfo 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.

Anmerkung

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
mindestens unterstützte Client- Diese Routine ist ab Windows Vista verfügbar.
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library Fltmgr.lib
DLL- FltMgr.sys
IRQL- <= DISPATCH_LEVEL

Siehe auch

FLT_CALLBACK_DATA

FltApplyPriorityInfoThread

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO

IoInitializePriorityInfo

PsGetCurrentThread-