FSCTL_SET_REPARSE_POINT_EX código de controle

O código de controle FSCTL_SET_REPARSE_POINT_EX define um ponto de nova análise em um arquivo ou diretório.

Para executar essa operação, chame ZwFsControlFile com os parâmetros a seguir.

Os minifiltros devem usar FltTagFile em vez de FSCTL_SET_REPARSE_POINT_EX para definir um ponto de nova análise.

Para obter mais informações sobre pontos de nova análise e o código de controle FSCTL_SET_REPARSE_POINT_EX, consulte a documentação do SDK do Microsoft Windows.

Parâmetros

  • FileHandle: identificador de arquivo para o arquivo ou diretório no qual definir um ponto de nova análise. Esse parâmetro é necessário e não pode ser NULL.

  • FsControlCode: código de controle para a operação. Use FSCTL_SET_REPARSE_POINT_EX para esta operação.

  • InputBuffer: ponteiro para uma estrutura de REPARSE_GUID_DATA_BUFFER ou REPARSE_DATA_BUFFER_EX alocada pelo chamador que contém os dados do ponto de nova análise.

  • InputBufferLength: tamanho, em bytes, do buffer apontado pelo parâmetro InputBuffer . Para uma estrutura REPARSE_GUID_DATA_BUFFER, esse valor deve ser pelo menos REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, além do tamanho dos dados definidos pelo usuário e deve ser menor ou igual a MAXIMUM_REPARSE_DATA_BUFFER_SIZE. Para uma estrutura REPARSE_DATA_BUFFER_EX, esse valor deve ser pelo menos REPARSE_DATA_BUFFER_HEADER_SIZE, além do tamanho dos dados definidos pelo usuário e deve ser menor ou igual a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.

  • OutputBuffer: não usado com esta operação; definido como NULL.

  • OutputBufferLength: não usado com esta operação; definido como zero.

Bloco de status

ZwFsControlFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Valor Descrição
STATUS_DIRECTORY_NOT_EMPTY Um ponto de nova análise não pode ser definido em um diretório não vazio. Este é um código de erro.
STATUS_EAS_NOT_SUPPORTED Um ponto de nova análise não poderá ser definido em um arquivo se essa solicitação estiver em uma transação. Este é um código de erro.
STATUS_IO_REPARSE_DATA_INVALID Um dos valores de parâmetro especificados era inválido. Este é um código de erro.
STATUS_IO_REPARSE_TAG_MISMATCH 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.
STATUS_NOT_A_REPARSE_POINT O arquivo ou diretório não é um ponto de nova análise. Este é um código de erro.
STATUS_REPARSE_ATTRIBUTE_CONFLICT O ponto de nova análise é um ponto de nova análise de terceiros e 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.

Requisitos

Tipo de Requisito Requisito
parâmetro Ntifs.h (inclua Ntifs.h ou Fltkernel.h)

Confira também

FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL

FltTagFile

FltUntagFile

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER_EX

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile