Función FsRtlKernelFsControlFile (ntifs.h)
La función FsRtlKernelFsControlFile
Sintaxis
NTSTATUS FsRtlKernelFsControlFile(
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[out] ULONG OutputBufferLength,
[out] PULONG RetOutputBufferSize
);
Parámetros
[in] FileObject
Puntero al FILE_OBJECT para enviar la operación.
[in] FsControlCode
FSCTL_XXX código que indica qué operación de control del sistema de archivos se va a llevar a cabo. El valor de este parámetro determina los formatos y las longitudes necesarias del InputBuffer y outputBuffer, así como los pares de parámetros siguientes. Para obtener información detallada sobre los códigos de FSCTL_XXX definidos por el sistema, vea la sección "Comentarios" de la entrada de referencia para DeviceIoControl en la documentación de Microsoft Windows SDK.
[in] InputBuffer
Puntero a un búfer de entrada asignado por el autor de la llamada que contiene información específica del dispositivo que se va a proporcionar al controlador de destino. Si FsControlCode especifica una operación que no requiere datos de entrada, este puntero es opcional y puede ser NULL. Tenga en cuenta que este búfer puede modificarse tras la devolución y el autor de la llamada debe adaptarse a este. Esto se debe a que este búfer se puede usar para contener los datos de salida.
[in] InputBufferLength
Longitud del InputBuffer en bytes.
[out] OutputBuffer
Puntero a un búfer de salida asignado por el autor de la llamada en el que se devuelve información del controlador de destino. Si FsControlCode especifica una operación que no genera datos de salida, este puntero es opcional y puede ser NULL.
[out] OutputBufferLength
Longitud del OutputBuffer de
[out] RetOutputBufferSize
Recibe el número de bytes realmente escritos (devueltos) en el búfer de salida.
Valor devuelto
FsRtlKernelFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes.
Valor | Significado |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Error de asignación de grupo. |
STATUS_INVALID_PARAMETER | Se proporcionó un parámetro no válido (por ejemplo, un FileObject no válido). |
Observaciones
FsRtlKernelFsControlFile establece el código secundario IRP_MN_KERNEL_CALL que le permite realizar operaciones sin necesidad de administrar privilegios de volumen para determinadas operaciones.
Esta función supone que todos los búferes que se le pasan son búferes en modo kernel.
Requisitos
Requisito | Valor |
---|---|
encabezado de |
ntifs.h |