Share via


FLT_PARAMETERS per l'unione IRP_MJ_QUERY_EA

Componente unione usato quando il campo MajorFunction della struttura di FLT_IO_PARAMETER_BLOCK per l'operazione è IRP_MJ_QUERY_EA.

Sintassi

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                    Length;
    PVOID                    EaList;
    ULONG                    EaListLength;
    ULONG  POINTER_ALIGNMENT EaIndex;
    PVOID                    EaBuffer;
    PMDL                     MdlAddress;
  } QueryEa;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Members

  • QueryEa: struttura all'interno dell'unione FLT_PARAMETERS contenente i membri seguenti.

  • Lunghezza: lunghezza, in byte, del buffer a cui punta EaBuffer .

  • EaList: puntatore a un chiamante fornito, FILE_GET_EA_INFORMATION buffer di input strutturato specificando gli attributi estesi da eseguire una query.

  • EaListLength: lunghezza, in byte, del buffer a cui punta EaList .

  • EaIndex: indice della voce in corrispondenza del quale iniziare a analizzare l'elenco di attributi estesi. Questo parametro viene ignorato se il flag di SL_INDEX_SPECIFIED non è impostato nella struttura di FLT_IO_PARAMETER_BLOCK per l'operazione o se EaList punta a un elenco non ignorato.

  • EaBuffer: puntatore a un chiamante fornito, FILE_FULL_EA_INFORMATION buffer di output strutturato FILE_FULL_EA_INFORMATION in cui devono essere restituiti i valori dell'attributo estesi. Questo membro è facoltativo e può essere NULL se viene fornito un MDL in MdlAddress. Vedere Osservazioni.

  • MdlAddress: indirizzo di un elenco di descrittori di memoria (MDL) che descrive il buffer a cui punta EaBuffer . Questo membro è facoltativo e può essere NULL se viene fornito un buffer in EaBuffer. Vedere Osservazioni.

Commenti

La struttura FLT_PARAMETERS per le operazioni di IRP_MJ_QUERY_EA contiene i parametri per un'operazione query-extended-attributes-information basata su IRP rappresentata da una struttura di dati di callback (FLT_CALLBACK_DATA). È contenuta in una struttura di FLT_IO_PARAMETER_BLOCK.

Se vengono forniti sia un buffer EaBuffer che MdlAddress , è consigliabile che i minifiltri usino MDL. La memoria a cui punta EaBuffer è valida quando si tratta di un indirizzo in modalità utente a cui si accede nel contesto del processo chiamante o se si tratta di un indirizzo in modalità kernel.

Se un minifiltro modifica il valore di MdlAddress, dopo il callback dell'operazione successiva, Filter Manager libera l'MDL attualmente archiviato in MdlAddress e ripristina il valore precedente di MdlAddress.

IRP_MJ_QUERY_EA è un'operazione basata su IRP.

Requisiti

Tipo di requisito Requisito
Intestazione Fltkernel.h (include Fltkernel.h)

Vedi anche

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckEaBuffer Validità

IRP_MJ_QUERY_EA