KSALLOCATOR_FRAMING結構 (ks.h)
KSALLOCATOR_FRAMING 結構可用來查詢框架需求,並提交配置器建立要求。
語法
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;
成員
OptionsFlags
指定設定器選項旗標,指定在配置器建立連接點期間指定的旗標。 OptionsFlags 成員可以包含下列其中一個值。
OptionsFlags | 描述 |
---|---|
KSALLOCATOR_OPTIONF_COMPATIBLE | 表示所建立配置器的框架選項與下游配置器相容。 當就地修飾詞指派複製緩衝區的配置器時,通常會指定這個選項。 如果不需要篩選條件來修改指定的框架,它可能會在指定此選項時,將框架提交至下游篩選,而不需從下游配置器配置器配置額外的框架。 |
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY | 表示系統記憶體應該用於配置。 指定時,配置器必須配置來自集區的記憶體,如 poolType 成員中所指定。 否則,假設接收會提供系統地址對應至裝置上的 RAM 或其他形式的記憶體。 |
RequirementsFlags
ULONG 類型的值,描述查詢作業之此連接點的配置器需求。 RequirementsFlags 成員可以包含下列值。
旗標值 | 描述 |
---|---|
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER | 表示連接點可以執行就地修改。 |
KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY | 表示連接點需要系統記憶體來進行配置。 如果未設定此選項,則會假設接收會提供系統地址空間對應至裝置上的 RAM 或其他形式的記憶體。 |
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY | 表示連接點需要下游篩選條件維護指定框架的數據完整性。 |
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE | 表示連接點要求它配置任何傳送的畫面格。 |
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY | 指出需求旗標只是喜好設定,而且連接點能夠配置不符合這些規格的畫面格。 |
PoolType
類型為 POOL_TYPE 結構,指定內核模式配置集區類型。
Frames
指定允許的未完成畫面格總數。 零表示篩選條件沒有此成員的需求。
FrameSize
指定框架的總大小,包括前置詞和後置詞。 零表示篩選條件沒有此成員的需求。
FileAlignment
ULONG 類型的值,描述配置框架時要使用的位元組對齊方式。 下表描述數個可能的對齊值。
價值 | 描述 |
---|---|
FILE_BYTE_ALIGNMENT | 1 位元組對齊 |
FILE_WORD_ALIGNMENT | 2 位元組對齊 |
FILE_LONG_ALIGNMENT | 4 位元組對齊 |
FILE_32_BYTE_ALIGNMENT | 32 位元組對齊 |
FILE_64_BYTE_ALIGNMENT | 64 位元組對齊 |
FramePitch
Reserved
保留供系統使用。 設定為零。
言論
使用 KSALLOCATOR_FRAMING,使用 IRP_MJ_CREATE 將配置器建立要求提交至接收的句柄。
當您為 FileAlignment 成員指定值時,最小的配置對齊方式為 1 位元組(FILE_BYTE_ALIGNMENT)。 作為配置的軟體應盡可能支援 4 位元組對齊(FILE_LONG_ALIGNMENT)。
要求
要求 | 價值 |
---|---|
標頭 | ks.h (包括 Ks.h) |