Función KsCreateDefaultAllocatorEx (ks.h)
Crea un asignador predeterminado que usa el grupo de memoria especificado y asocia ioGetCurrentIrpStackLocation(pIrp)->FileObject con este asignador mediante una tabla de distribución interna (KSDISPATCH_TABLE).
Sintaxis
KSDDKAPI NTSTATUS KsCreateDefaultAllocatorEx(
[in] PIRP Irp,
[in, optional] PVOID InitializeContext,
[in, optional] PFNKSDEFAULTALLOCATE DefaultAllocate,
[in, optional] PFNKSDEFAULTFREE DefaultFree,
[in, optional] PFNKSINITIALIZEALLOCATOR InitializeAllocator,
[in, optional] PFNKSDELETEALLOCATOR DeleteAllocator
);
Parámetros
[in] Irp
Contiene el IRP con la solicitud de creación del asignador que se está controlando.
[in, optional] InitializeContext
Opcionalmente, contiene un contexto que se va a usar con un asignador externo. Esto solo se usa como contexto de inicialización para la devolución de llamada opcional InitializeAllocator al crear un contexto de asignador. De lo contrario, no se usa el parámetro . Si no se proporciona un asignador externo, este parámetro debe establecerse en NULL.
[in, optional] DefaultAllocate
Opcionalmente, contiene una función de asignación externa que se usa en lugar de la asignación de grupo predeterminada. Si es NULL, se usa la asignación predeterminada.
[in, optional] DefaultFree
Opcionalmente, contiene una función gratuita externa que se usa en lugar de la asignación de grupo predeterminada. Si no se proporciona un asignador externo, este parámetro debe establecerse en NULL.
[in, optional] InitializeAllocator
Opcionalmente, contiene una función de inicialización del asignador externo a la que se pasa el parámetro InitializeContext. Se espera que esta función devuelva un contexto de asignador basado en el marco del asignador. Si no se proporciona un asignador externo, este parámetro debe establecerse en NULL.
[in, optional] DeleteAllocator
Opcionalmente, contiene una función de eliminación de asignador externo que se usa para asignadores externos. Si no se proporciona un asignador externo, este parámetro debe establecerse en NULL.
Valor devuelto
Devuelve STATUS_SUCCESS, de lo contrario, se produce un error en el error de creación del asignador predeterminado. No completa el IRP ni establece el estado en irP.
Comentarios
Antes de llamar a esta rutina, la macro KSCREATE_ITEM_IRP_STORAGE(Irp) debe devolver un puntero a la estructura KSOBJECT_CREATE_ITEM que es el elemento de creación para este asignador. KsCreateDefaultAllocatorEx establece FsContext para que apunte al valor devuelto de esta macro. Por lo tanto, FsContext se puede usar posteriormente para consultas o cambios de descriptor de seguridad.
Puede encontrar KSCREATE_ITEM_IRP_STORAGE(Irp) y macros relacionadas en ks.h.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ks.h (incluye Ks.h) |
Library | Ks.lib |