Condividi tramite


codice di controllo FSCTL_SET_REPARSE_POINT

Il codice di controllo FSCTL_SET_REPARSE_POINT imposta un punto di ripristino in un file o in una directory.

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

I minifiltri devono usare FltTagFile anziché FSCTL_SET_REPARSE_POINT per impostare un punto di correzione.

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

Parametri

  • FileHandle [in]: handle di file per il file o la directory in cui impostare un reparse point. Questo parametro è obbligatorio e non può essere NULL.

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

  • InputBuffer [in]: puntatore a un REPARSE_GUID_DATA_BUFFER allocato dal chiamante o REPARSE_DATA_BUFFER struttura che contiene i dati dei reparse point. Se viene modificato un reparse point esistente, il tag specificato nel membro ReparseTag di questa struttura deve corrispondere al tag del punto reparse da modificare. Inoltre, se il reparse point è un reparse point di terze parti (non Microsoft), il GUID specificato nel membro ReparseGuid della struttura è una struttura REPARSE_GUID_DATA_BUFFER deve corrispondere al GUID del punto di correzione da modificare.

  • InputBufferLength [in]: dimensioni, in byte, del buffer a cui punta il parametro InputBuffer . Per una struttura REPARSE_GUID_DATA_BUFFER, questo valore deve essere almeno REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, oltre alle dimensioni dei dati definiti dall'utente e deve essere minore o uguale a MAXIMUM_REPARSE_DATA_BUFFER_SIZE. Per una struttura REPARSE_DATA_BUFFER, questo valore deve essere almeno REPARSE_DATA_BUFFER_HEADER_SIZE, oltre alle dimensioni dei dati definiti dall'utente e deve essere minore o uguale a MAXIMUM_REPARSE_DATA_BUFFER_SIZE.

  • OutputBuffer [out]: non usato con questa operazione; impostare su NULL.

  • OutputBufferLength [out]: non usato con questa operazione; impostato su zero.

Blocco dello stato

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

Codice Significato
STATUS_DIRECTORY_NOT_EMPTY Non è possibile impostare un reparse point in una directory nonempty. Si tratta di un codice di errore.
STATUS_EAS_NOT_SUPPORTED Un reparse point non può essere impostato su un file se la richiesta si trova in una transazione. 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_IO_REPARSE_TAG_MISMATCH Il tag reparse specificato dal chiamante non corrisponde al tag del reparse point da modificare. 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.
STATUS_REPARSE_ATTRIBUTE_CONFLICT Il reparse point è un reparse point di terze parti e il GUID reparse specificato dal chiamante non corrisponde al GUID del reparse point da modificare. Si tratta di un codice di errore.

Requisiti

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

Vedi anche

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

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile