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
FltGetIoPriorityHintFromCallbackData
FltGetIoPriorityHintFromFileObject
FltGetIoPriorityHintFromThread
FltSetIoPriorityHintIntoCallbackData
FltSetIoPriorityHintIntoFileObject