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)

Consulte también

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