Freigeben über


KSALLOCATOR_FRAMING Struktur (ks.h)

Die KSALLOCATOR_FRAMING-Struktur wird verwendet, um Rahmenanforderungen abzufragen und Allocator-Erstellungsanforderungen 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;

Angehörige

OptionsFlags

Gibt die Zuweisungsoptionskennzeichnungen an, die während der Erstellung des Allocators für den Verbindungspunkt angegeben wurden. Das OptionsFlags Member kann einen der folgenden Werte enthalten.

OptionsFlags Beschreibung
KSALLOCATOR_OPTIONF_COMPATIBLE Gibt an, dass die Rahmenoptionen des erstellten Allocators mit dem nachgeschalteten Ocator kompatibel sind. Diese Option wird in der Regel angegeben, wenn einem in-situ-Modifizierer ein Allocator für Kopierpuffer zugewiesen wird. Wenn der Filter nicht erforderlich ist, um einen bestimmten Frame zu ändern, kann er den Frame an den downstream-Filter übermitteln, ohne einen zusätzlichen Frame vom downstream-Zuweisungsverteiler zuzuordnen, wenn diese Option angegeben wird.
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY Gibt an, dass der Systemspeicher für Zuordnungen verwendet werden soll. Wenn angegeben, muss der Allocator Speicher aus dem Pool zuordnen, wie im PoolType Member angegeben. Andernfalls wird davon ausgegangen, dass die Spüle eine Systemadressenzuordnung zu Einem-Board-RAM oder anderen Speicherformen auf dem Gerät bereitstellt.

RequirementsFlags

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

Flag-Wert Beschreibung
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER Gibt an, dass der Verbindungspunkt eine direkte Änderung ausfü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 Spüle eine Systemadressraumzuordnung zu Einem-Board-RAM oder anderen Speicherformen auf dem Gerät bereitstellt.
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY Gibt an, dass für den Verbindungspunkt nachgeschaltete Filter die Datenintegrität der angegebenen Frames beibehalten.
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE Gibt an, dass für den Verbindungspunkt alle gesendeten Frames zugewiesen werden müssen.
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY Gibt an, dass die Flags "Anforderungen" nur Einstellungen sind und der Verbindungspunkt Frames zuordnen kann, die diese Spezifikationen nicht erfüllen.

PoolType

Eine Struktur vom Typ POOL_TYPE, die den Zuordnungspooltyp für den Kernelmodus angibt.

Frames

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

FrameSize

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

FileAlignment

Ein Wert vom Typ ULONG, der die beim Zuordnen von Frames zu verwendende Byteausrichtung beschreibt. 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 4-Byte-Ausrichtung
FILE_32_BYTE_ALIGNMENT 32-Byte-Ausrichtung
FILE_64_BYTE_ALIGNMENT 64-Byte-Ausrichtung

FramePitch

Reserved

Reserviert für die Systemverwendung. Auf Null festgelegt.

Bemerkungen

Verwenden Sie KSALLOCATOR_FRAMING, um mithilfe von IRP_MJ_CREATE eine Zuweisungsanforderung an ein Handle einer Spüle zu übermitteln.

Wenn Sie einen Wert für das FileAlignment Member angeben, beträgt die kleinste Zuordnungsausrichtung 1 Byte (FILE_BYTE_ALIGNMENT). Software, die als Zuordnung fungiert, sollte 4-Byte-Ausrichtung (FILE_LONG_ALIGNMENT) unterstützen, falls möglich.

Anforderungen

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

Siehe auch

KsCreateAllocator-