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.
Los minidrivers pueden proporcionar opcionalmente una función de devolución de llamada de tipo PFNKSALLOCATOR como parámetro en llamadas a KsEnableEventWithAllocator, KsPropertyHandlerWithAllocatory KsMethodHandlerWithAllocator.
Sintaxis
PFNKSALLOCATOR Pfnksallocator;
NTSTATUS Pfnksallocator(
[in] PIRP Irp,
[in] ULONG BufferSize,
[in] BOOLEAN InputOperation
)
{...}
Parámetros
[in] Irp
Especifica el IRP para el que se realiza la solicitud de asignación del búfer.
[in] BufferSize
Especifica el tamaño del búfer necesario. Este tamaño cubre todos los parámetros de la solicitud.
[in] InputOperation
Establézcalo en TRUE si se trata de una operación de entrada, lo que significa que, si se devuelve correctamente, el campo Irp->IoStatus.Information contendrá el número de bytes que se van a copiar en el búfer de entrada original.
Valor devuelto
Devuelve STATUS_SUCCESS si se controla la solicitud. De lo contrario, devuelve un código de error adecuado.
Observaciones
Normalmente, la memoria del grupo se usa para las asignaciones de búfer. Esto permite que los filtros que pasen consultas de eventos, propiedades y métodos directamente al hardware para evitar copias de datos adicionales al permitirles proporcionar el búfer en el que las funciones de control estándar colocan dichos datos. Por lo tanto, un filtro puede tener bloques de memoria que ya se han asignado a un adaptador desde el que se pueden producir asignaciones de búfer.
Dado que esta memoria probablemente no es la memoria asignada por el grupo típica, el filtro debe realizar la limpieza del búfer al finalizar irp. Esto significa que para las operaciones de entrada del modo de usuario que no son sincrónicos, el asignador debe asignar un MDL para el búfer de destino, sondearlo y bloquearlo y recuperar una dirección del sistema. Esto debe hacerse para habilitar la copia de los datos devueltos en el búfer original.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | ks.h (incluya Ks.h) |