Funzione FltRetrieveIoPriorityInfo (fltkernel.h)

La routine FltRetrieveIoPriorityInfo viene utilizzata da un driver minifilter per recuperare le informazioni sulla priorità da un thread.

Sintassi

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

Parametri

[in, optional] Data

Puntatore facoltativo a una struttura FLT_CALLBACK_DATA , che rappresenta un'operazione di I/O. Questo parametro può essere NULL.

[in, optional] FileObject

Puntatore facoltativo all'oggetto file associato all'operazione di I/O. Questo parametro può essere NULL.

[in, optional] Thread

Puntatore facoltativo al thread da cui recuperare le informazioni sulla priorità. Questo parametro può essere NULL.

[in, out] PriorityInfo

Puntatore a una struttura IO_PRIORITY_INFO utilizzata per ricevere le informazioni sulla priorità dal thread specificato. La struttura IO_PRIORITY_INFO deve essere inizializzata da una routine appropriata prima di poter essere utilizzata da questa routine. Per altre informazioni, vedere la sezione Osservazioni seguente.

Valore restituito

La routine FltRetrieveIoPriorityInfo restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato.

Commenti

La routine FltRetrieveIoPriorityInfo recupera le informazioni sulla priorità e salva le informazioni nella struttura a cui punta il parametro PriorityInfo .

In genere, la routine FltRetrieveIoPriorityInfo viene utilizzata insieme alla routine FltApplyPriorityInfoThread per salvare e quindi impostare la priorità di I/O di un thread, la priorità di paging e la priorità del thread.

Se il parametro Thread è diverso da NULL, la priorità di paging del thread e la priorità del thread verranno recuperate e inserite nei membri PagePriority e ThreadPriority della struttura IO_PRIORITY_INFO a cui punta il parametro PriorityInfo . Se il parametro Thread è NULL, i membri ThreadPriority e PagePriority della struttura IO_PRIORITY_INFO sono contrassegnati con valori sentinel che indicano che le priorità di paging e thread del thread non devono essere modificate dal sistema. Si noti che questi valori sentinel rimangono attivi fino a quando non vengono modificati in modo esplicito.

Nell'esempio di pseudocodice seguente viene descritto il valore di priorità di I/O recuperato e inserito nel membro IoPriority della struttura IO_PRIORITY_INFO a cui punta il parametro PriorityInfo .

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.

Nota

Se la struttura IO_PRIORITY_INFO a cui punta il parametro PriorityInfo non è stata inizializzata, è necessario eseguire questa operazione prima di chiamare questa routine chiamando la routine IoInitializePriorityInfo .

Requisiti

Requisito Valore
Client minimo supportato Questa routine è disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
Intestazione fltkernel.h (include Fltkernel.h)
Libreria Fltmgr.lib
DLL FltMgr.sys
IRQL <= DISPATCH_LEVEL

Vedi anche

FLT_CALLBACK_DATA

FltApplyPriorityInfoThread

FltGetIoPriorityHint

FltGetIoPriorityHintFromCallbackData

FltGetIoPriorityHintFromFileObject

FltGetIoPriorityHintFromThread

FltRetrieveIoPriorityInfo

FltSetIoPriorityHintIntoCallbackData

FltSetIoPriorityHintIntoFileObject

FltSetIoPriorityHintIntoThread

IO_PRIORITY_INFO

IoInitializePriorityInfo

PsGetCurrentThread