Condividi tramite


KS_FRAMING_ITEM struttura (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;

Members

MemoryType

Specifica il tipo di memoria utilizzato per i buffer e i frame di dati. Esiste una corrispondenza parziale tra questo membro e il membro PoolType nella struttura KSALLOCATOR_FRAMING . I due membri differiscono in tale PoolType consente solo pool di pagine o non a pagine. MemoryType può avere uno dei valori elencati nella tabella seguente.

Valore Descrizione
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE Indica che l'allocazione della memoria può essere qualsiasi tipo di memoria.
KSMEMORY_TYPE_SYSTEM Indica che l'allocazione della memoria deve essere memoria di sistema.
KSMEMORY_TYPE_USER Indica che l'allocazione della memoria deve essere memoria in modalità utente.
KSMEMORY_TYPE_KERNEL_PAGED Indica che l'allocazione della memoria deve essere memoria a pagina del kernel. Corrisponde al membro PoolType della struttura KSALLOCATOR_FRAMING impostata su PagedPool e il membro RequirementsFlags di questa struttura impostata su SYSTEM_MEMORY.
KSMEMORY_TYPE_KERNEL_NONPAGED Indica che l'allocazione della memoria deve essere memoria non impaginata. Corrisponde al membro PoolType della struttura KSALLOCATOR_FRAMING impostata su NonPagedPool e il membro RequirementsFlags di questa struttura impostato 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. Usare questo campo per determinare un tipo di memoria compatibile in base al bus usato per il supporto di connessione. Questa distinzione è fondamentale quando un pin espone diversi tipi di memoria in base al supporto di connessione. BusType può avere uno dei valori elencati nella tabella seguente.

Tipo Descrizione
GUID_BUS_TYPE_PCI Bus di interconnessione del componente periferico.
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 usato.

Flags

Analogamente all'unione OptionsFlags e RequirementsFlags nella struttura KSALLOCATOR_FRAMING, con l'aggiunta dei flag che aggiungono supporto per 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 framepitch del membro LONG.

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 del frame.

FramingRange

Struttura di tipo KS_FRAMING_RANGE_WEIGHTED che specifica l'intervallo ottimale di dimensioni del fotogramma.

Commenti

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 ancora non supporta il protocollo per allocare la memoria specifica del dispositivo.

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

Requisiti

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

Vedi anche

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED