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) |