Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
FltAllocateCallbackData asigna una estructura de datos de devolución de llamada que un controlador de minifiltro puede usar para iniciar una solicitud de E/S.
Sintaxis
NTSTATUS FLTAPI FltAllocateCallbackData(
[in] PFLT_INSTANCE Instance,
[in, optional] PFILE_OBJECT FileObject,
[out] PFLT_CALLBACK_DATA *RetNewCallbackData
);
Parámetros
[in] Instance
Puntero de instancia opaco para la instancia del controlador de minifiltro que está iniciando la operación de E/S. Este parámetro es obligatorio y no puede ser NULL.
[in, optional] FileObject
Puntero de objeto de archivo que se va a usar en la operación de E/S. Este parámetro es opcional y puede ser NULL.
[out] RetNewCallbackData
Puntero a una variable asignada por el autor de la llamada que recibe la dirección de la estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) recién asignada.
Valor devuelto
FltAllocateCallbackData devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
Código devuelto | Descripción |
---|---|
|
FltAllocateCallbackData encontró un error de asignación de grupo al intentar asignar la estructura de datos de devolución de llamada. Se trata de un código de error. |
Comentarios
Un controlador de minifiltro puede llamar a FltAllocateCallbackData para asignar una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) para una operación de E/S iniciada por el controlador minifiltro.
Después de inicializar los parámetros de la estructura de datos de devolución de llamada devuelta por FltAllocateCallbackData, el llamador inicia la operación de E/S pasando la estructura a FltPerformSynchronousIo o FltPerformAsynchronousIo. Estas rutinas envían la operación de E/S solo a las instancias del controlador de minifiltro adjuntas debajo de la instancia de inicio (especificada en el parámetro Instance ) y al sistema de archivos. Los controladores de minifiltro conectados encima de la instancia especificada no reciben la operación de E/S.
Los controladores de minifiltro solo pueden iniciar operaciones de E/S basadas en IRP. No pueden iniciar operaciones de devolución de llamada de E/S rápidas o de filtro del sistema de archivos (FSFilter).
Los controladores de minifiltro deben usar FltAllocateCallbackData, FltPerformAsynchronousIo y FltPerformSynchronousIo solo para las operaciones de E/S para las que no se pueden usar rutinas como las siguientes:
Cuando ya no se necesita la estructura de datos de devolución de llamada asignada por FltAllocateCallbackData , el autor de la llamada es responsable de liberarla llamando a FltFreeCallbackData.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |