FSCTL_GET_REPARSE_POINT código de controle

O código de controle FSCTL_GET_REPARSE_POINT recupera os dados de ponto de nova análise associados ao arquivo ou diretório especificado.

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

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

Parâmetros

  • FileObject [in]: somente FltFsControlFile . Ponteiro de objeto de arquivo para o arquivo ou diretório do qual recuperar os dados do ponto de nova análise. Esse parâmetro é necessário e não pode ser NULL.

  • FileHandle [in]: somente ZwFsControlFile . Identificador de arquivo para o arquivo ou diretório do qual recuperar os dados do ponto de nova análise. Esse parâmetro é necessário e não pode ser NULL.

  • FsControlCode [in]: um código de controle para a operação. Use FSCTL_GET_REPARSE_POINT para esta operação.

  • InputBuffer [in]: não usado com esta operação; definido como NULL.

  • InputBufferLength [in]: não usado com esta operação; definido como zero.

  • OutputBuffer [out]: ponteiro para uma estrutura de REPARSE_GUID_DATA_BUFFER ou REPARSE_DATA_BUFFER alocada pelo chamador que recebe os dados do ponto de nova análise.

  • OutputBufferLength [out]: tamanho, em bytes, do buffer apontado pelo parâmetro OutputBuffer . O número de bytes é calculado da seguinte maneira:

    Estrutura OutputBufferLength
    REPARSE_GUID_DATA_BUFFER Deve ser pelo menos REPARSE_GUID_DATA_BUFFER_HEADER_SIZE mais o tamanho dos dados definidos pelo usuário esperados; e devem ser menores ou iguais a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.
    REPARSE_DATA_BUFFER Deve ser pelo menos REPARSE_DATA_BUFFER_HEADER_SIZE mais o tamanho dos dados definidos pelo usuário esperados; e devem ser menores ou iguais a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.

Bloco de status

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

Código Significado
STATUS_BUFFER_OVERFLOW O buffer para o qual o parâmetro OutputBuffer aponta é grande o suficiente para manter a parte fixa do REPARSE_GUID_DATA_BUFFER ou REPARSE_DATA_BUFFER estrutura, mas não os dados definidos pelo usuário. Nesse caso, somente bytes OutputBufferLength são retornados no buffer OutputBuffer . O parâmetro LengthReturned para FltFsControlFile recebe o comprimento real, em bytes, dos dados retornados. Esse é um código de aviso.
STATUS_BUFFER_TOO_SMALL O buffer para o qual OutputBuffer aponta é menor que sizeof(REPARSE_GUID_DATA_BUFFER) e não é grande o suficiente para manter os dados do ponto de nova análise. O parâmetro LengthReturned para FltFsControlFile (ou o membro Information do parâmetro IoStatus para ZwFsControlFile) recebe o tamanho do buffer necessário. Nesse caso, nenhum dado de ponto de nova análise é retornado. 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_NOT_A_REPARSE_POINT O arquivo ou diretório não é um ponto de nova análise. 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_CALLBACK_DATA

FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL

FLT_TAG_DATA_BUFFER

FltFsControlFile

FltTagFile

FltUntagFile

FSCTL_DELETE_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile