Função FltTagFile (fltkernel.h)
FltTagFile define uma marca de nova análise em um arquivo ou diretório.
Sintaxe
NTSTATUS FLTAPI FltTagFile(
[in] PFLT_INSTANCE InitiatingInstance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FileTag,
[in, optional] GUID *Guid,
[in] PVOID DataBuffer,
[in] USHORT DataBufferLength
);
Parâmetros
[in] InitiatingInstance
Ponteiro de instância opaco para a instância de driver de minifiltro que iniciou essa solicitação de E/S. Esse parâmetro é necessário e não pode ser NULL.
[in] FileObject
Ponteiro para um objeto de arquivo para o arquivo ou diretório no qual definir um ponto de nova análise. O objeto de arquivo deve ser aberto para acesso FILE_WRITE_DATA. Esse parâmetro é necessário e não pode ser NULL.
[in] FileTag
Marca de ponto de nova análise. Se uma marca de nova análise existente estiver sendo modificada, a marca especificada neste parâmetro deverá corresponder à marca do ponto de nova análise a ser modificada.
[in, optional] Guid
GUID que identifica exclusivamente o tipo de ponto de nova análise. Se FileTag não for uma marca da Microsoft, esse parâmetro será necessário e não poderá ser NULL. Se uma marca de nova análise existente estiver sendo modificada, o GUID especificado neste parâmetro deverá corresponder ao GUID do ponto de nova análise a ser modificado.
[in] DataBuffer
Ponteiro para um buffer que contém dados definidos pelo usuário para o ponto de nova análise.
[in] DataBufferLength
Tamanho, em bytes, do buffer para o qual o DataBuffer aponta.
Retornar valor
FltTagFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
|
FltTagFileEx encontrou uma falha de alocação de pool. Este é um código de erro. |
|
O sistema de arquivos não dá suporte a pontos de nova análise. Este é um código de erro. |
|
FileTag não é uma marca da Microsoft e NULL foi especificado para Guid. Este é um código de erro. |
|
A marca de nova análise especificada pelo chamador não correspondeu à marca do ponto de nova análise a ser modificado. Este é um código de erro. |
|
O GUID de nova análise especificado pelo chamador não correspondeu ao GUID do ponto de nova análise a ser modificado. Este é um código de erro. |
Comentários
Os drivers de minifiltro devem usar FltTagFile em vez de FSCTL_SET_REPARSE_POINT para definir um ponto de nova análise.
Nem todos os sistemas de arquivos dão suporte a pontos de nova análise. O sistema de arquivos NTFS dá suporte a eles; o sistema de arquivos FAT não. Os drivers de minifiltro podem determinar se um sistema de arquivos dá suporte a pontos de nova análise chamando FltQueryVolumeInformation, especificando FileFsAttributeInformation para o parâmetro FsInformation e examinando o sinalizador de bit FILE_SUPPORTS_REPARSE_POINTS na estrutura de FILE_FS_ATTRIBUTE_INFORMATION retornada.
Para remover um ponto de nova análise existente, chame FltUntagFile.
Para obter mais informações sobre pontos de nova análise, consulte a documentação do SDK do Microsoft Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |