KSPROPERTY_PIN_MODEDATAFORMATS

I client usano la proprietà KSPROPERTY_PIN_MODEDATAFORMATS per recuperare un elenco dei formati supportati per ogni modalità di elaborazione del segnale audio supportato per i pin creata dall'istanza di pin factory.

Tabella riepilogo utilizzo

Recupero Set Destinazione Tipo di descrittore delle proprietà Tipo valore proprietà
No Filtra KSP_PIN, seguito da un GUID in modalità KSMULTIPLE_ITEM struttura, seguita da una sequenza di strutture KSDATAFORMAT

Commenti

I client usano questa proprietà per recuperare un elenco di formati supportati per una modalità di elaborazione del segnale audio specifica tramite pin creata dall'istanza della factory pin.

Specificare questa proprietà usando KSP_PIN seguita dal GUID mode, in cui il membro KSP_PIN e il GUID mode specificano la pin factory e la modalità per cui restituire l'elenco di formati.

KSPROPERTY_PIN_MODEDATAFORMATS restituisce i formati supportati come struttura KSMULTIPLE_ITEM in cui ogni elemento della struttura è un oggetto ULONGLONG con l'offset a una struttura KSDATAFORMAT specifica nel valore dall'inizio del KSMULTIPLE_ITEM.

  • Il valore KSMULTIPLE_ITEM::Size include le dimensioni della KSMULTIPLE_ITEM e le dimensioni di ogni KSDATAFORMAT.

  • Il valore KSMULTIPLE_ITEM::Count include il conteggio degli indici a ogni KSDATAFORMAT.

In quasi tutti i casi, le strutture KSDATAFORMAT restituite verranno effettivamente KSDATAFORMAT_WAVEFORMATEXTENSIBLE o KSDATAFORMAT_WAVEFORMATEX strutture con una dimensione corrispondente.

Ad esempio, un valore per una factory di pin che supporta due formati sarà simile al seguente.

{
    // Example Property Value Result, with 2 formats
    // When computing the FormatSize make sure to align the size to ULONGLONG
    // KSDATAFORMAT::Size is WDF_ALIGN_SIZE_UP(KsDataFormat->FormatSize, sizeof(ULONGLONG));
    // Size of the KSMULTIPLE_ITEM structure + Size of two ULONG offset values + Size of first format + Size of second format
    sizeof(KSMULTIPLE_ITEM) + sizeof(ULONG)*2 + (First KSDATAFORMAT::Size) + (Second KSDATAFORMAT::Size),
    // Number of formats being returned
    2,
    // Offset of the first format from the beginning of the Property Value
    2 * sizeof(ULONG),
    // Offset of the second format from the beginning of the Property Value
    2 * sizeof(ULONG) + (First KSDATAFORMAT::Size),
    // First format structure
    {(First KSDATAFORMAT)},
    // Second format structure
    {(Second KSDATAFORMAT)}
}

Per altre informazioni, vedere Estendibili Wave-Format descrittori.

Formato della modalità supportata e raccomandazioni del buffer

A partire da Windows 10, versione 2004 l'uso di KSPROPERTY_PIN_MODEDATAFORMATS e KSAUDIO_PACKETSIZE_CONSTRAINTS2 è l'approccio preferito per i driver per segnalare i formati di modalità di elaborazione del segnale audio supportati e i vincoli di dimensioni del buffer. L'uso di questo approccio consente al sistema audio Windows di recuperare in modo efficiente le funzionalità di streaming degli endpoint senza dover creare numerosi flussi per individuare i formati e le dimensioni del buffer supportati dall'endpoint.

Requisiti

Versione: Disponibile a partire da Windows 10, versione 2004

Intestazione: ks.h (includere Ks.h)

Vedi anche

KSP_PIN

KSDATAFORMAT

KSAUDIO_PACKETSIZE_CONSTRAINTS2

KSDATAFORMAT_WAVEFORMATEX