structure KSALLOCATOR_FRAMING (ks.h)
La structure KSALLOCATOR_FRAMING est utilisée pour interroger les exigences de cadrage et envoyer des demandes de création d’allocator.
Syntaxe
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;
Membres
OptionsFlags
Spécifie les indicateurs d’option d’allocation spécifiés lors de la création de l’allocator pour le point de connexion. Le membre OptionsFlags peut contenir l’une des valeurs suivantes.
OptionsFlags | Description |
---|---|
KSALLOCATOR_OPTIONF_COMPATIBLE | Indique que les options de cadrage de l’allocateur en cours de création sont compatibles avec l’allocateur en aval. Cette option est généralement spécifiée lorsqu’un modificateur sur place se voit attribuer un allocateur pour les mémoires tampons de copie. Si le filtre n’est pas nécessaire pour modifier une image donnée, il peut envoyer le frame au filtre en aval sans allouer d’image supplémentaire à partir de l’allocateur en aval lorsque cette option est spécifiée. |
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY | Indique que la mémoire système doit être utilisée pour les allocations. Lorsqu’il est spécifié, l’allocateur doit allouer de la mémoire du pool comme spécifié dans le membre PoolType . Sinon, il est supposé que le récepteur fournit un mappage d’adresses système à la RAM embarquée ou à d’autres formes de stockage sur l’appareil. |
RequirementsFlags
Valeur de type ULONG qui décrit les exigences d’allocation pour ce point de connexion pour les opérations de requête. Le membre RequirementsFlags peut contenir les valeurs suivantes.
Valeur de l’indicateur | Description |
---|---|
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER | Indique que le point de connexion peut effectuer une modification sur place. |
KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY | Indique que le point de connexion nécessite de la mémoire système pour les allocations. Si cette option n’est pas définie, il est supposé que le récepteur fournit un mappage d’espace d’adressage système à la RAM embarquée ou à d’autres formes de stockage sur l’appareil. |
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY | Indique que le point de connexion nécessite que les filtres en aval conservent l’intégrité des données des trames spécifiées. |
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE | Indique que le point de connexion nécessite qu’il alloue toutes les trames envoyées. |
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY | Indique que les indicateurs Configuration requise sont des préférences uniquement et que le point de connexion est en mesure d’allouer des images qui ne répondent pas à ces spécifications. |
PoolType
Structure de type POOL_TYPE qui spécifie le type de pool d’allocation en mode noyau.
Frames
Spécifie le nombre total d’images en attente autorisées. Zéro indique que le filtre n’a aucune exigence pour ce membre.
FrameSize
Spécifie la taille totale de l’image, y compris le préfixe et le postfix. Zéro indique que le filtre n’a aucune exigence pour ce membre.
FileAlignment
Valeur de type ULONG qui décrit l’alignement d’octets à utiliser lors de l’allocation d’images. Le tableau suivant décrit plusieurs valeurs d’alignement possibles.
Valeur | Description |
---|---|
FILE_BYTE_ALIGNMENT | Alignement de 1 octet |
FILE_WORD_ALIGNMENT | Alignement de 2 octets |
FILE_LONG_ALIGNMENT | Alignement de 4 octets |
FILE_32_BYTE_ALIGNMENT | Alignement de 32 octets |
FILE_64_BYTE_ALIGNMENT | Alignement de 64 octets |
FramePitch
Reserved
Réservé pour le système. Définit la valeur zéro.
Remarques
Utilisez KSALLOCATOR_FRAMING pour envoyer une demande de création d’allocator à un handle d’un récepteur à l’aide de IRP_MJ_CREATE.
Lorsque vous spécifiez une valeur pour le membre FileAlignment , le plus petit alignement d’allocation est de 1 octet (FILE_BYTE_ALIGNMENT). Les logiciels qui fonctionnent comme une allocation doivent prendre en charge l’alignement sur 4 octets (FILE_LONG_ALIGNMENT), si possible.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ks.h (inclure Ks.h) |