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