Função FsRtlQueryKernelEaFile (ntifs.h)

A rotina FsRtlQueryKernelEaFile é usada para criar uma solicitação explícita do QueryEA e aguardar síncronamente para que ela seja concluída, retornando o resultado. Isso permite que o chamador faça isso por FileObject em vez de um identificador.

Sintaxe

NTSTATUS FsRtlQueryKernelEaFile(
  [in]            PFILE_OBJECT FileObject,
  [out]           PVOID        ReturnedEaData,
  [in]            ULONG        Length,
  [in]            BOOLEAN      ReturnSingleEntry,
  [in]            PVOID        EaList,
  [in]            ULONG        EaListLength,
  [in, optional]  PULONG       EaIndex,
  [in]            BOOLEAN      RestartScan,
  [out, optional] PULONG       LengthReturned
);

Parâmetros

[in] FileObject

Um ponteiro para um FileObject para o qual enviar a solicitação QueryEA.

[out] ReturnedEaData

Um ponteiro para um buffer de saída estruturado FILE_FULL_EA_INFORMATION fornecido pelo chamador, em que os valores de atributo estendido devem ser retornados.

[in] Length

Especifica o comprimento, em bytes, de ReturnedEaData

[in] ReturnSingleEntry

Especifica se apenas uma única entrada deve ser retornada em vez de preencher o buffer com o maior número possível de EAs.

[in] EaList

Um ponteiro para um buffer de entrada estruturado FILE_GET_EA_INFORMATION fornecido pelo chamador, que especifica os atributos estendidos a serem consultados. Esse parâmetro é opcional e pode ser NULL.

[in] EaListLength

Especifica o comprimento de EaList, se uma lista de EA foi fornecida.

[in, optional] EaIndex

Fornece o índice opcional de um EA cujo valor deve ser retornado. Se especificado, somente o EA será retornado.

[in] RestartScan

Especifica se a verificação dos EAs deve ser reiniciada desde o início.

[out, optional] LengthReturned

Especifica a quantidade de dados válidos retornados no buffer ReturnedEaData .

Retornar valor

O FsRtlQueryKernelEaFile de rotina retorna um dos códigos de status:

Código de retorno Descrição
STATUS_EAS_NOT_SUPPORTED
O sistema de arquivos não dá suporte a atributos estendidos.
STATUS_INVALID_DEVICE_REQUEST
A solicitação falhou porque era um dispositivo direto aberto.
STATUS_INSUFFICIENT_RESOURCES
O IRP (pacote de solicitação de E/S) não pôde ser alocado para essa solicitação.
STATUS_SUCCESS
A solicitação foi bem-sucedida.

Comentários

Essa rotina FsRtlQueryKernelEaFile pressupõe que todos os buffers passados sejam do modo kernel, pois exige que os buffers de Entrada e Saída fornecidos, se especificados, sejam endereços no modo kernel. A operação falhará se um endereço de modo de usuário for especificado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Windows
Cabeçalho ntifs.h

Confira também

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile