Default Allocators

The default allocator provides a system memory allocator for device drivers that transfer data from system memory and require specific memory allocation properties. When using the default allocator, a filter need only handle the allocator requirements request.

If using the default allocator, minidrivers must set the KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY flag in the RequirementsFlags member of the relevant KSALLOCATOR_FRAMING structure. When an IRP_MJ_CREATE is submitted and the create type is KSCREATE_REQUEST_ALLOCATOR, the filter forwards the IRP to the default allocator handler by calling the KsCreateDefaultAllocator function. All remaining processing is handled by the default allocator.