struktur KS_FRAMING_ITEM (ks.h)

Struktur KS_FRAMING_ITEM digunakan untuk mendeklarasikan persyaratan alokator pada pin mode kernel.

Sintaks

typedef struct {
  GUID                      MemoryType;
  GUID                      BusType;
  ULONG                     MemoryFlags;
  ULONG                     BusFlags;
  ULONG                     Flags;
  ULONG                     Frames;
  union {
    ULONG FileAlignment;
    LONG  FramePitch;
  };
  ULONG                     MemoryTypeWeight;
  KS_FRAMING_RANGE          PhysicalRange;
  KS_FRAMING_RANGE_WEIGHTED FramingRange;
} KS_FRAMING_ITEM, *PKS_FRAMING_ITEM;

Anggota

MemoryType

Menentukan jenis memori yang digunakan untuk buffer dan bingkai data. Ada korespondensi parsial antara anggota ini dan anggota PoolType dalam struktur KSALLOCATOR_FRAMING . Kedua anggota berbeda dalam PoolType tersebut hanya memungkinkan kumpulan berpakaian halaman atau tidak disebarkan. MemoryType bisa memiliki salah satu nilai yang tercantum dalam tabel berikut ini.

Nilai Deskripsi
KSMEMORY_TYPE_WILDCARD / KSMEMORY_TYPE_DONT_CARE / KSTYPE_DONT_CARE Menunjukkan alokasi memori dapat berupa semua jenis memori.
KSMEMORY_TYPE_SYSTEM Menunjukkan alokasi memori harus memori sistem.
KSMEMORY_TYPE_USER Menunjukkan alokasi memori harus memori mode pengguna.
KSMEMORY_TYPE_KERNEL_PAGED Menunjukkan alokasi memori harus berupa memori halaman kernel. Ini sesuai dengan anggota PoolType dari struktur KSALLOCATOR_FRAMING yang diatur ke PagedPool dan anggota RequirementsFlags dari struktur ini diatur ke SYSTEM_MEMORY.
KSMEMORY_TYPE_KERNEL_NONPAGED Menunjukkan alokasi memori harus berupa memori yang tidak di-kernel. Ini sesuai dengan anggota PoolType dari struktur KSALLOCATOR_FRAMING yang diatur ke NonPagedPool dan anggota RequirementsFlags dari struktur ini diatur ke SYSTEM_MEMORY.
KSMEMORY_TYPE_DEVICE_UNKNOWN Menunjukkan jenis alokasi memori perangkat tidak ditentukan.

BusType

Menentukan bus fisik yang mengakses memori fisik yang ditentukan oleh MemoryType. Gunakan bidang ini untuk menentukan jenis memori yang kompatibel berdasarkan bus yang digunakan untuk media koneksi. Perbedaan ini sangat penting ketika pin mengekspos jenis memori yang berbeda berdasarkan media koneksi. BusType bisa memiliki salah satu nilai yang tercantum dalam tabel berikut ini.

Jenis Deskripsi
GUID_BUS_TYPE_PCI Bus interkoneksi komponen periferal.
GUID_BUS_TYPE_USB Bus serial universal.
GUID_BUS_TYPE_1394 Bus serial IEEE 1394.
GUID_BUS_TYPE_AVC Bus kontrol audio/video.
GUID_61883_CLASS Bus protokol 61883.

MemoryFlags

Menentukan bahwa titik koneksi bertanggung jawab atas alokasi bingkai. Harus diatur ke KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE.

BusFlags

Tidak digunakan.

Flags

Mirip dengan persatuan OptionsFlags dan RequirementsFlags dalam struktur KSALLOCATOR_FRAMING , dengan penambahan bendera yang menambahkan dukungan untuk pipa.

Frames

Menentukan jumlah total bingkai terutang yang diizinkan. Sesuai dengan anggota Bingkai dari struktur KSALLOCATOR_FRAMING .

FileAlignment

Persyaratan untuk perataan bingkai. Sesuai dengan anggota FileAlignment dari struktur KSALLOCATOR_FRAMING .

FramePitch

Menentukan FramePitch anggota LONG.

MemoryTypeWeight

Nilai jenis ULONG yang menentukan bobot lebar pin dari jenis memori ini.

PhysicalRange

Struktur jenis KS_FRAMING_RANGE yang menentukan batas fisik ukuran bingkai.

FramingRange

Struktur jenis KS_FRAMING_RANGE_WEIGHTED yang menentukan rentang ukuran bingkai yang optimal.

Keterangan

Jangan atur KSALLOCATOR_FLAG_CAN_ALLOCATE untuk menunjukkan kemampuan alamat memori. Filter mungkin dapat mengakses memori khusus perangkat melalui bus khusus perangkat dengan mereferensikan alamat memori pada bus ini, dan belum mendukung protokol untuk mengalokasikan memori khusus perangkat ini.

Setiap instans KSALLOCATOR_FRAMING_EX berisi satu atau beberapa item pembingkaian.

Persyaratan

Persyaratan Nilai
Header ks.h (termasuk Ks.h)

Lihat juga

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED