KSALLOCATOR_FRAMING estructura (ks.h)
La estructura KSALLOCATOR_FRAMING se usa para consultar los requisitos de marco y enviar solicitudes de creación de asignador.
Sintaxis
typedef struct {
union {
ULONG OptionsFlags;
ULONG RequirementsFlags;
};
#if ...
POOL_TYPE PoolType;
#else
ULONG PoolType;
#endif
ULONG Frames;
ULONG FrameSize;
union {
ULONG FileAlignment;
LONG FramePitch;
};
ULONG Reserved;
} KSALLOCATOR_FRAMING, *PKSALLOCATOR_FRAMING;
Miembros
OptionsFlags
Especifica las marcas de opción de asignador especificadas durante la creación del asignador para el punto de conexión. El miembro OptionsFlags puede contener uno de los valores siguientes.
OpcionesFlags | Descripción |
---|---|
KSALLOCATOR_OPTIONF_COMPATIBLE | Indica que las opciones de marco del asignador que se va a crear son compatibles con el asignador de bajada. Esta opción se especifica normalmente cuando se asigna un modificador en contexto a un asignador para los búferes de copia. Si el filtro no es necesario para modificar un marco determinado, puede enviar el marco al filtro de nivel inferior sin asignar un marco adicional desde el asignador de nivel inferior cuando se especifica esta opción. |
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY | Indica que se debe usar la memoria del sistema para las asignaciones. Cuando se especifica, el asignador debe asignar memoria del grupo tal y como se especifica en el miembro PoolType . De lo contrario, se supone que el receptor proporciona una asignación de direcciones del sistema a la RAM incorporada u otras formas de almacenamiento en el dispositivo. |
RequirementsFlags
Valor de tipo ULONG que describe los requisitos del asignador para este punto de conexión para las operaciones de consulta. El miembro RequirementsFlags puede contener los valores siguientes.
Valor de marca | Descripción |
---|---|
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER | Indica que el punto de conexión puede realizar una modificación local. |
KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY | Indica que el punto de conexión requiere memoria del sistema para las asignaciones. Si no se establece esta opción, se supone que el receptor proporciona una asignación de espacio de direcciones del sistema a la RAM incorporada u otras formas de almacenamiento en el dispositivo. |
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY | Indica que el punto de conexión requiere que los filtros de nivel inferior mantengan la integridad de los datos de los marcos especificados. |
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE | Indica que el punto de conexión requiere que asigne los fotogramas enviados. |
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY | Indica que las marcas Requirements son solo preferencias y el punto de conexión puede asignar fotogramas que no cumplan esas especificaciones. |
PoolType
Estructura de tipo POOL_TYPE que especifica el tipo de grupo de asignación en modo kernel.
Frames
Especifica el número total de fotogramas pendientes permitidos. Cero indica que el filtro no tiene ningún requisito para este miembro.
FrameSize
Especifica el tamaño total del marco, incluido el prefijo y el postfijo. Cero indica que el filtro no tiene ningún requisito para este miembro.
FileAlignment
Valor de tipo ULONG que describe la alineación de bytes que se va a usar al asignar fotogramas. En la tabla siguiente se describen varios valores de alineación posibles.
Valor | Descripción |
---|---|
FILE_BYTE_ALIGNMENT | Alineación de 1 byte |
FILE_WORD_ALIGNMENT | Alineación de 2 bytes |
FILE_LONG_ALIGNMENT | Alineación de 4 bytes |
FILE_32_BYTE_ALIGNMENT | Alineación de 32 bytes |
FILE_64_BYTE_ALIGNMENT | Alineación de 64 bytes |
FramePitch
Reserved
Reservado para uso del sistema. Establecer en cero.
Comentarios
Use KSALLOCATOR_FRAMING para enviar una solicitud de creación de asignador a un identificador de un receptor mediante IRP_MJ_CREATE.
Cuando se especifica un valor para el miembro FileAlignment , la alineación de asignación más pequeña es de 1 byte (FILE_BYTE_ALIGNMENT). El software que funciona como asignación debe admitir la alineación de 4 bytes (FILE_LONG_ALIGNMENT), si es posible.
Requisitos
Requisito | Valor |
---|---|
Header | ks.h (incluye Ks.h) |