共用方式為


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)

另請參閱

KsCreateAllocator