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 I/O-Vorgang darstellt. Dieser Parameter kann NULL sein.

[in, optional] FileObject

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

[in, optional] Thread

Ein optionaler Zeiger auf den Thread, in 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 durch eine entsprechende 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 PriorityInfo-Parameter verweist.

In der Regel wird die FltRetrieveIoPriorityInfo-Routine in Verbindung mit der FltApplyPriorityInfoThread-Routine verwendet, um die I/O-Priorität eines Threads, die Paging-Priorität und die Thread-Priorität festzulegen.

Wenn der Threadparameter nicht NULL ist, wird die Paging-Priorität und die Threadpriorität der Thread-Priorität abgerufen und in die Elemente "PagePriority " und " ThreadPriority " der IO_PRIORITY_INFO-Struktur platziert, die vom PriorityInfo-Parameter hervorgehoben wurde. Wenn der ThreadparameterNULL ist, werden die Elemente "ThreadPriority" und "PagePriority" der IO_PRIORITY_INFO Struktur mit Sentinelwerten markiert, die angeben, dass die Seiten- und Threadprioritätspriorität des Threads nicht vom System geändert werden sollte. Beachten Sie, dass diese Sentinelwerte bis zur expliziten Änderung wirksam bleiben.

Im folgenden Pseudocodebeispiel wird beschrieben, welche I/O-Prioritätswert abgerufen und in das IoPriority-Element der IO_PRIORITY_INFO-Struktur gesetzt 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

   
Unterstützte Mindestversion (Client) Diese Routine ist ab Windows Vista verfügbar.
Zielplattform Universell
Header fltkernel.h (enthalten 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