FSCTL_SET_REPARSE_POINT código de control
El código de control FSCTL_SET_REPARSE_POINT establece un punto de reanálisis en un archivo o directorio.
Para realizar esta operación, llame a ZwFsControlFile con los parámetros siguientes.
Los minifiltros deben usar FltTagFile en lugar de FSCTL_SET_REPARSE_POINT para establecer un punto de reanálisis.
Para obtener más información sobre los puntos de reanálisis y el código de control de FSCTL_SET_REPARSE_POINT, consulte la documentación de Microsoft Windows SDK.
Parámetros
FileHandle [in]: identificador de archivo para el archivo o directorio en el que se va a establecer un punto de reanálisis. Este parámetro es obligatorio y no puede ser NULL.
FsControlCode [in]: Código de control para la operación. Use FSCTL_SET_REPARSE_POINT para esta operación.
InputBuffer [in]: puntero a una estructura de REPARSE_GUID_DATA_BUFFER asignada por el autor de la llamada o REPARSE_DATA_BUFFER que contiene los datos del punto de reanálisis. Si se modifica un punto de reanálisis existente, la etiqueta especificada en el miembro ReparseTag de esta estructura debe coincidir con la etiqueta del punto de reanálisis que se va a modificar. Además, si el punto de reanálisis es un punto de reanálisis de terceros (que no es de Microsoft), el GUID especificado en el miembro ReparseGuid de la estructura es una estructura de REPARSE_GUID_DATA_BUFFER debe coincidir con el GUID del punto de reanálisis que se va a modificar.
InputBufferLength [in]: Tamaño, en bytes, del búfer al que apunta el parámetro InputBuffer . Para una estructura de REPARSE_GUID_DATA_BUFFER, este valor debe ser al menos REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, más el tamaño de los datos definidos por el usuario y debe ser menor o igual que MAXIMUM_REPARSE_DATA_BUFFER_SIZE. Para una estructura de REPARSE_DATA_BUFFER, este valor debe ser al menos REPARSE_DATA_BUFFER_HEADER_SIZE, además del tamaño de los datos definidos por el usuario y debe ser menor o igual que MAXIMUM_REPARSE_DATA_BUFFER_SIZE.
OutputBuffer [out]: No se usa con esta operación; se establece en NULL.
OutputBufferLength [out]: No se usa con esta operación; se establece en cero.
Bloque de estado
ZwFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:
Código | Significado |
---|---|
STATUS_DIRECTORY_NOT_EMPTY | No se puede establecer un punto de reanálisis en un directorio no vacío. Se trata de un código de error. |
STATUS_EAS_NOT_SUPPORTED | No se puede establecer un punto de reanálisis en un archivo si esta solicitud está en una transacción. Se trata de un código de error. |
STATUS_IO_REPARSE_DATA_INVALID | Uno de los valores de parámetro especificados no era válido. Se trata de un código de error. |
STATUS_IO_REPARSE_TAG_MISMATCH | La etiqueta de reanálisis especificada por el autor de la llamada no coincide con la etiqueta del punto de reanálisis que se va a modificar. Se trata de un código de error. |
STATUS_NOT_A_REPARSE_POINT | El archivo o directorio no es un punto de reanálisis. Se trata de un código de error. |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | El punto de reanálisis es un punto de reanálisis de terceros y el GUID de reanálisis especificado por el autor de la llamada no coincide con el GUID del punto de reanálisis que se va a modificar. Se trata de un código de error. |
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Ntifs.h (incluya Ntifs.h o Fltkernel.h) |