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 | Description |
---|---|
KSALLOCATOR_OPTIONF_COMPATIBLE | 表示所建立配置器的框架選項與下游配置器相容。 當就地修飾詞指派複製緩衝區的配置器時,通常會指定這個選項。 如果篩選條件不需要修改指定的框架,它可能會將框架提交至下游篩選,而不需要在指定此選項時從下游配置器配置額外的畫面格。 |
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY | 表示系統記憶體應該用於配置。 指定時,配置器必須配置集區中的記憶體,如 PoolType 成員中所指定。 否則,假設接收會提供系統地址對應至裝置上的 RAM 或其他形式的記憶體。 |
RequirementsFlags
ULONG 類型的值,描述查詢作業之這個連接點的配置器需求。 RequirementsFlags 成員可以包含下列值。
旗標值 | Description |
---|---|
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 類型的值,描述配置畫面時要使用的位元組對齊方式。 下表描述數個可能的對齊值。
值 | Description |
---|---|
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) |