codice di controllo FSCTL_GET_REPARSE_POINT

Il codice di controllo FSCTL_GET_REPARSE_POINT recupera i dati dei reparse point associati al file o alla directory specificata.

Per eseguire questa operazione, chiamare FltFsControlFile o ZwFsControlFile con i parametri seguenti.

Per altre informazioni sui reparse points e sul codice di controllo FSCTL_GET_REPARSE_POINT, vedere la documentazione di Microsoft Windows SDK.

Parametri

  • FileObject [in]: solo FltFsControlFile . Puntatore a oggetti file per il file o la directory da cui recuperare i dati del punto di analisi. Questo parametro è obbligatorio e non può essere NULL.

  • FileHandle [in]: Solo ZwFsControlFile . Handle di file per il file o la directory da cui recuperare i dati del reparse point. Questo parametro è obbligatorio e non può essere NULL.

  • FsControlCode [in]: codice di controllo per l'operazione. Usare FSCTL_GET_REPARSE_POINT per questa operazione.

  • InputBuffer [in]: non usato con questa operazione; impostare su NULL.

  • InputBufferLength [in]: non usato con questa operazione; impostato su zero.

  • OutputBuffer [out]: puntatore a un REPARSE_GUID_DATA_BUFFER allocato dal chiamante o struttura REPARSE_DATA_BUFFER che riceve i dati del punto di analisi.

  • OutputBufferLength [out]: dimensioni, in byte, del buffer a cui punta il parametro OutputBuffer . Il numero di byte viene calcolato come segue:

    Struttura OutputBufferLength
    REPARSE_GUID_DATA_BUFFER Deve essere almeno REPARSE_GUID_DATA_BUFFER_HEADER_SIZE più le dimensioni dei dati previsti definiti dall'utente; e deve essere minore o uguale a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.
    REPARSE_DATA_BUFFER Deve essere almeno REPARSE_DATA_BUFFER_HEADER_SIZE più le dimensioni dei dati previsti definiti dall'utente; e deve essere minore o uguale a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.

Blocco dello stato

FltFsControlFile o ZwFsControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice Significato
STATUS_BUFFER_OVERFLOW Il buffer a cui punta il parametro OutputBuffer è sufficientemente grande da contenere la parte fissa del REPARSE_GUID_DATA_BUFFER o della struttura REPARSE_DATA_BUFFER ma non i dati definiti dall'utente. In questo caso, nel buffer OutputBufferLength vengono restituiti solo i byte OutputBuffer . Il parametro LengthReturned in FltFsControlFile riceve la lunghezza effettiva, espressa in byte, dei dati restituiti. Si tratta di un codice di avviso.
STATUS_BUFFER_TOO_SMALL Il buffer a cui punta OutputBuffer è minore di sizeof(REPARSE_GUID_DATA_BUFFER) e non è sufficientemente grande da contenere i dati del punto di analisi. Il parametro LengthReturned in FltFsControlFile (o il membro Information del parametro IoStatus in ZwFsControlFile) riceve le dimensioni del buffer necessarie. In questo caso, non vengono restituiti dati dei punti di analisi. Si tratta di un codice di errore.
STATUS_IO_REPARSE_DATA_INVALID Uno dei valori dei parametri specificati non è valido. Si tratta di un codice di errore.
STATUS_NOT_A_REPARSE_POINT Il file o la directory non è un reparse point. Si tratta di un codice di errore.

Requisiti

Tipo di requisito Requisito
Intestazione Ntifs.h (include Ntifs.h o Fltkernel.h)

Vedi anche

FLT_CALLBACK_DATA

FLT_PARAMETERS per 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