KSALLOCATOR_FRAMING-Struktur (ks.h)

Die KSALLOCATOR_FRAMING-Struktur wird verwendet, um Rahmenanforderungen abzufragen und Anforderungen zur Erstellung von Zuordnungen zu übermitteln.

Syntax

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;

Member

OptionsFlags

Gibt die Zuweisungsoptionsflags an, die während der Erstellung der Zuordnung für den Verbindungspunkt angegeben wurden. Der OptionsFlags-Member kann einen der folgenden Werte enthalten.

OptionsFlags BESCHREIBUNG
KSALLOCATOR_OPTIONF_COMPATIBLE Gibt an, dass die Rahmenoptionen des zu erstellenden Zuteilungselements mit dem nachgeschalteten Zuordnungselement kompatibel sind. Diese Option wird in der Regel angegeben, wenn einem direkten Modifizierer ein Zuteilungsgeber für Kopierpuffer zugewiesen wird. Wenn der Filter nicht erforderlich ist, um einen bestimmten Frame zu ändern, kann er den Frame an den Downstreamfilter übermitteln, ohne einen zusätzlichen Frame aus dem nachgeschalteten Zuteilungsgeber zuzuweisen, wenn diese Option angegeben ist.
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY Gibt an, dass der Systemspeicher für Zuordnungen verwendet werden soll. Bei Angabe muss der Zuweisungsator Arbeitsspeicher aus dem Pool zuordnen, wie im PoolType-Element angegeben. Andernfalls wird davon ausgegangen, dass die Senke eine Systemadressenzuordnung zum onboard-RAM oder anderen Speicherformen auf dem Gerät bereitstellt.

RequirementsFlags

Ein Wert vom Typ ULONG, der die Zuordnungsanforderungen für diesen Verbindungspunkt für Abfragevorgänge beschreibt. Der RequirementsFlags-Member kann die folgenden Werte enthalten.

Flagwert BESCHREIBUNG
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER Gibt an, dass der Verbindungspunkt eine direkte Änderung durchführen kann.
KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY Gibt an, dass für den Verbindungspunkt Systemspeicher für Zuordnungen erforderlich ist. Wenn diese Option nicht festgelegt ist, wird davon ausgegangen, dass die Senke eine Systemadressraumzuordnung zum onboard-RAM oder anderen Speicherformen auf dem Gerät bereitstellt.
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY Gibt an, dass der Verbindungspunkt erfordert, dass nachgeschaltete Filter die Datenintegrität der angegebenen Frames beibehalten.
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE Gibt an, dass der Verbindungspunkt alle gesendeten Frames zuordnen muss.
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY Gibt an, dass die Anforderungsflags nur Einstellungen sind und der Verbindungspunkt Frames zuweisen kann, die diese Spezifikationen nicht erfüllen.

PoolType

Eine Struktur vom Typ POOL_TYPE , die den Typ des Kernelmoduszuordnungspools angibt.

Frames

Gibt die Gesamtzahl der zulässigen ausstehenden Frames an. Null gibt an, dass der Filter für dieses Element keine Anforderung hat.

FrameSize

Gibt die Gesamtgröße des Frames an, einschließlich Präfix und Postfix. Null gibt an, dass der Filter für dieses Element keine Anforderung hat.

FileAlignment

Ein Wert vom Typ ULONG, der die Byteausrichtung beschreibt, die beim Zuweisen von Frames verwendet werden soll. In der folgenden Tabelle werden mehrere mögliche Ausrichtungswerte beschrieben.

Wert BESCHREIBUNG
FILE_BYTE_ALIGNMENT 1-Byte-Ausrichtung
FILE_WORD_ALIGNMENT 2-Byte-Ausrichtung
FILE_LONG_ALIGNMENT Ausrichtung mit 4 Byte
FILE_32_BYTE_ALIGNMENT 32-Byte-Ausrichtung
FILE_64_BYTE_ALIGNMENT 64-Byte-Ausrichtung

FramePitch

Reserved

Ist für das System reserviert. Auf NULL festlegen.

Hinweise

Verwenden Sie KSALLOCATOR_FRAMING, um mithilfe von IRP_MJ_CREATE eine Zuordnungserstellungsanforderung an ein Handle einer Senke zu übermitteln.

Wenn Sie einen Wert für das FileAlignment-Element angeben, ist die kleinste Zuordnungsausrichtung 1 Byte (FILE_BYTE_ALIGNMENT). Software, die als Zuordnung fungiert, sollte nach Möglichkeit die 4-Byte-Ausrichtung (FILE_LONG_ALIGNMENT) unterstützen.

Anforderungen

Anforderung Wert
Header ks.h (einschließlich Ks.h)

Weitere Informationen

KsCreateAllocator