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