Condividi tramite


struttura KS_FRAMING_ITEM (ks.h)

La struttura KS_FRAMING_ITEM viene usata per dichiarare i requisiti dell'allocatore in un pin in modalità kernel.

Sintassi

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;

Membri

MemoryType

Specifica il tipo di memoria utilizzata per buffer e frame di dati. Esiste una corrispondenza parziale tra questo membro e il membro poolType nella struttura KSALLOCATOR_FRAMING. I due membri differiscono in quanto PoolType consente solo il pool di paging o non di paging. MemoryType può contenere uno qualsiasi dei valori elencati nella tabella seguente.

Valore Descrizione
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE Indica che l'allocazione di memoria può essere qualsiasi tipo di memoria.
KSMEMORY_TYPE_SYSTEM Indica che l'allocazione di memoria deve essere memoria di sistema.
KSMEMORY_TYPE_USER Indica che l'allocazione di memoria deve essere in modalità utente.
KSMEMORY_TYPE_KERNEL_PAGED Indica che l'allocazione di memoria deve essere memoria di paging del kernel. Corrisponde al membro PoolType della struttura KSALLOCATOR_FRAMING impostata su PagedPool e al membro RequirementsFlags di di questa struttura impostata su SYSTEM_MEMORY.
KSMEMORY_TYPE_KERNEL_NONPAGED Indica che l'allocazione di memoria deve essere memoria non di paging del kernel. Corrisponde al membro PoolType della struttura di KSALLOCATOR_FRAMING impostata su NonPagedPool e sul membro RequirementsFlags di questa struttura impostata su SYSTEM_MEMORY.
KSMEMORY_TYPE_DEVICE_UNKNOWN Indica che il tipo di allocazione della memoria del dispositivo non è specificato.

BusType

Specifica il bus fisico che accede alla memoria fisica specificata da MemoryType. Utilizzare questo campo per determinare un tipo di memoria compatibile basato sul bus utilizzato per il supporto di connessione. Questa distinzione è fondamentale quando un pin espone tipi di memoria diversi in base al supporto di connessione. BusType può avere uno qualsiasi dei valori elencati nella tabella seguente.

Digitare Descrizione
GUID_BUS_TYPE_PCI Bus di interconnessione dei componenti periferici.
GUID_BUS_TYPE_USB Bus seriale universale.
GUID_BUS_TYPE_1394 Bus seriale IEEE 1394.
GUID_BUS_TYPE_AVC Bus di controllo audio/video.
GUID_61883_CLASS Bus di protocollo 61883.

MemoryFlags

Specifica che il punto di connessione è responsabile dell'allocazione dei frame. Deve essere impostato su KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE.

BusFlags

Non utilizzato.

Flags

Analogamente al OptionsFlags e RequirementsFlags unione nella struttura KSALLOCATOR_FRAMING, con l'aggiunta dei flag che aggiungono il supporto per le pipe.

Frames

Specifica il numero totale di fotogrammi in sospeso consentiti. Corrisponde al membro frame della struttura KSALLOCATOR_FRAMING.

FileAlignment

Requisito per l'allineamento dei fotogrammi. Corrisponde al membro FileAlignment della struttura KSALLOCATOR_FRAMING.

FramePitch

Definisce il membro LONGFramePitch.

MemoryTypeWeight

Valore di tipo ULONG che specifica il peso a livello di pin di questo tipo di memoria.

PhysicalRange

Struttura di tipo KS_FRAMING_RANGE che specifica il limite fisico delle dimensioni dei fotogrammi.

FramingRange

Struttura di tipo KS_FRAMING_RANGE_WEIGHTED che specifica l'intervallo ottimale di dimensioni dei fotogrammi.

Osservazioni

Non impostare KSALLOCATOR_FLAG_CAN_ALLOCATE per indicare la funzionalità di indirizzamento della memoria. Un filtro potrebbe essere in grado di accedere alla memoria specifica del dispositivo su un bus specifico del dispositivo facendo riferimento all'indirizzo di memoria in questo bus e non supporta ancora il protocollo per allocare la memoria specifica del dispositivo.

Ogni istanza di KSALLOCATOR_FRAMING_EX contiene uno o più elementi di frame.

Fabbisogno

Requisito Valore
intestazione ks.h (include Ks.h)

Vedere anche

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED