FSCTL_GET_REPARSE_POINT código de control
El código de control FSCTL_GET_REPARSE_POINT recupera los datos del punto de reanálisis asociados al archivo o directorio especificados.
Para realizar esta operación, llame a FltFsControlFile o ZwFsControlFile con los parámetros siguientes.
Para obtener más información sobre los puntos de reanálisis y el código de control de FSCTL_GET_REPARSE_POINT, consulte la documentación de Microsoft Windows SDK.
Parámetros
FileObject [in]: FltFsControlFile solo. Puntero de objeto de archivo para el archivo o directorio desde el que recuperar los datos del punto de reanálisis. Este parámetro es obligatorio y no puede ser NULL.
FileHandle [in]: ZwFsControlFile solo. Identificador de archivo para el archivo o directorio desde el que recuperar los datos del 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_GET_REPARSE_POINT para esta operación.
InputBuffer [in]: No se usa con esta operación; se establece en NULL.
InputBufferLength [in]: No se usa con esta operación; se establece en cero.
OutputBuffer [out]: puntero a una estructura de REPARSE_GUID_DATA_BUFFER asignada por el autor de la llamada o REPARSE_DATA_BUFFER que recibe los datos del punto de reanálisis.
OutputBufferLength [out]: Tamaño, en bytes, del búfer al que apunta el parámetro OutputBuffer . El número de bytes se calcula de la siguiente manera:
Estructura OutputBufferLength REPARSE_GUID_DATA_BUFFER Debe ser al menos REPARSE_GUID_DATA_BUFFER_HEADER_SIZE más el tamaño de los datos definidos por el usuario esperados; y deben ser menores o iguales que MAXIMUM_REPARSE_DATA_BUFFER_SIZE. REPARSE_DATA_BUFFER Debe ser al menos REPARSE_DATA_BUFFER_HEADER_SIZE más el tamaño de los datos definidos por el usuario esperados; y deben ser menores o iguales que MAXIMUM_REPARSE_DATA_BUFFER_SIZE.
Bloque de estado
FltFsControlFile o ZwFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:
Código | Significado |
---|---|
STATUS_BUFFER_OVERFLOW | El búfer al que apunta el parámetro OutputBuffer es lo suficientemente grande como para contener la parte fija de la estructura REPARSE_GUID_DATA_BUFFER o REPARSE_DATA_BUFFER, pero no los datos definidos por el usuario. En este caso, solo se devuelven bytes OutputBufferLength en el búfer OutputBuffer . El parámetro LengthReturned de FltFsControlFile recibe la longitud real, en bytes, de los datos devueltos. Se trata de un código de advertencia. |
STATUS_BUFFER_TOO_SMALL | El búfer al que OutputBuffer apunta es menor que sizeof(REPARSE_GUID_DATA_BUFFER) y no es lo suficientemente grande como para contener los datos del punto de reanálisis. El parámetro LengthReturned a FltFsControlFile (o el miembro Information del parámetro IoStatus a ZwFsControlFile) recibe el tamaño de búfer necesario. En este caso, no se devuelven datos de punto de reanálisis. 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_NOT_A_REPARSE_POINT | El archivo o directorio no es un punto de reanálisis. Se trata de un código de error. |
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Ntifs.h (incluya Ntifs.h o Fltkernel.h) |