Freigeben über


KS_FRAMING_ITEM Struktur (ks.h)

Die KS_FRAMING_ITEM-Struktur wird verwendet, um Allocatoranforderungen für einen Kernelmodus-Pin zu deklarieren.

Syntax

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;

Angehörige

MemoryType

Gibt den Speichertyp an, der für Puffer und Datenframes verwendet wird. Es gibt eine teilweise Entsprechung zwischen diesem Element und dem PoolType Member in der KSALLOCATOR_FRAMING-Struktur. Die beiden Elemente unterscheiden sich darin, dass PoolType- nur seitenseitigen oder nicht seitenseitigen Pool zulässt. MemoryType- kann einen der werte enthalten, die in der folgenden Tabelle aufgeführt sind.

Wert Beschreibung
KSMEMORY_TYPE_WILDCARD / KSMEMORY_TYPE_DONT_CARE / KSTYPE_DONT_CARE Gibt an, dass die Speicherzuweisung ein beliebiger Speichertyp sein kann.
KSMEMORY_TYPE_SYSTEM Gibt an, dass die Speicherzuweisung Systemspeicher sein muss.
KSMEMORY_TYPE_USER Gibt an, dass die Speicherzuweisung arbeitsspeicher im Benutzermodus sein muss.
KSMEMORY_TYPE_KERNEL_PAGED Gibt an, dass die Speicherzuweisung kernelseitiger Speicher sein muss. Dies entspricht dem PoolType Member der KSALLOCATOR_FRAMING Struktur, die auf PagedPool- festgelegt ist, und dem RequirementsFlags Member dieser Struktur, das auf SYSTEM_MEMORY festgelegt ist.
KSMEMORY_TYPE_KERNEL_NONPAGED Gibt an, dass die Speicherzuweisung kernelfreiem Speicher sein muss. Dies entspricht dem PoolType Member der KSALLOCATOR_FRAMING Struktur, die auf NonPagedPool festgelegt ist, und dem RequirementsFlags Member dieser Struktur, das auf SYSTEM_MEMORY festgelegt ist.
KSMEMORY_TYPE_DEVICE_UNKNOWN Gibt an, dass der Gerätespeicherzuordnungstyp nicht angegeben ist.

BusType

Gibt den physischen Bus an, der auf den physischen Speicher zugreift, der durch MemoryType-angegeben wird. Verwenden Sie dieses Feld, um einen kompatiblen Speichertyp basierend auf dem Bus zu ermitteln, der für das Verbindungsmedium verwendet wird. Diese Unterscheidung ist entscheidend, wenn ein Pin verschiedene Speichertypen basierend auf dem Verbindungsmedium verfügbar macht. BusType- kann einen der werte enthalten, die in der folgenden Tabelle aufgeführt sind.

Art Beschreibung
GUID_BUS_TYPE_PCI Peripheriekomponentenverbindungsbus.
GUID_BUS_TYPE_USB Universeller serieller Bus.
GUID_BUS_TYPE_1394 IEEE 1394 Serieller Bus.
GUID_BUS_TYPE_AVC Audio-/Videosteuerungsbus.
GUID_61883_CLASS 61883 Protokollbus.

MemoryFlags

Gibt an, dass der Verbindungspunkt für die Framezuordnung verantwortlich ist. Sollte auf KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE festgelegt werden.

BusFlags

Wird nicht verwendet.

Flags

Ähnlich wie die OptionsFlags und RequirementsFlags Vereinigung in der KSALLOCATOR_FRAMING-Struktur, wobei die Kennzeichnungen hinzugefügt werden, die Unterstützung für Rohre hinzufügen.

Frames

Gibt die Gesamtzahl der zulässigen ausstehenden Frames an. Entspricht dem Frames- Member der KSALLOCATOR_FRAMING Struktur.

FileAlignment

Anforderung für die Frameausrichtung. Entspricht dem FileAlignment Member der KSALLOCATOR_FRAMING-Struktur.

FramePitch

Definiert das LONG Member FramePitch.

MemoryTypeWeight

Ein Wert vom Typ ULONG-, der die pinweite Gewichtung dieses Speichertyps angibt.

PhysicalRange

Eine Struktur vom Typ KS_FRAMING_RANGE, die den physischen Grenzwert von Framegrößen angibt.

FramingRange

Eine Struktur vom Typ KS_FRAMING_RANGE_WEIGHTED, die den optimalen Bereich von Rahmengrößen angibt.

Bemerkungen

Legen Sie KSALLOCATOR_FLAG_CAN_ALLOCATE nicht fest, um die Speicheradressierungsfunktion anzugeben. Ein Filter kann möglicherweise über einen gerätespezifischen Bus auf den gerätespezifischen Speicher zugreifen, indem er auf die Speicheradresse auf diesem Bus verweist und das Protokoll noch nicht unterstützt, um diesen gerätespezifischen Speicher zuzuweisen.

Jede KSALLOCATOR_FRAMING_EX Instanz enthält ein oder mehrere Rahmenelemente.

Anforderungen

Anforderung Wert
Header- ks.h (enthalten Ks.h)

Siehe auch

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED