Condividi tramite


Metodo IMFDeviceTransform::GetStreamIDs (mftransform.h)

Il metodo GetStreamIDs ottiene gli identificatori di flusso per i flussi di input e output in questa trasformazione di Media Foundation (MFT).

Sintassi

HRESULT GetStreamIDs(
  [in]  DWORD dwInputIDArraySize,
  [out] DWORD *pdwInputStreamIds,
  [out] DWORD dwOutputIDArraySize,
        DWORD *pdwOutputStreamIds
);

Parametri

[in] dwInputIDArraySize

Numero di elementi in pdwInputStreamIDs

[out] pdwInputStreamIds

Puntatore a una matrice allocata dal chiamante. Il metodo riempie la matrice con gli identificatori del flusso di input. Le dimensioni della matrice devono essere almeno uguali al numero di flussi di input. Per ottenere il numero di flussi di input, chiamare IMFDeviceTransform::GetStreamCount.

Se il chiamante passa una matrice maggiore del numero di flussi di input, MFT non deve scrivere valori nelle voci di matrice aggiuntive.

[out] dwOutputIDArraySize

Numero di elementi in pdwOutputStreamIDs.

pdwOutputStreamIds

Puntatore a una matrice allocata dal chiamante. Il metodo riempie la matrice con gli identificatori del flusso di output. Le dimensioni della matrice devono essere almeno uguali al numero di flussi di output. Per ottenere il numero di flussi di output, chiamare IMFDeviceTransform::GetStreamCount.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, a titolo esemplificativo, i valori specificati nella tabella seguente.

Codice restituito Descrizione
S_OK
Transizione dello stato del flusso completata.
E_POINTER
Puntatore non valido passato.
MF_E_BUFFERTOOSMALL
Il buffer in arrivo non ha spazio sufficiente per riempire gli ID del flusso.

Commenti

Gli identificatori di flusso sono necessari perché alcuni MFP possono aggiungere o rimuovere flussi, pertanto l'indice di un flusso potrebbe non essere univoco. Di conseguenza, i metodi IMFDeviceTransform che operano sui flussi accettano identificatori di flusso.

Tutti gli identificatori del flusso di input devono essere univoci all'interno di un MFT e tutti gli identificatori del flusso di output devono essere univoci. Tuttavia, un flusso di input e un flusso di output possono condividere lo stesso identificatore. I

Se il client aggiunge un flusso di input, il client assegna l'identificatore, pertanto MFT deve consentire identificatori arbitrari, purché siano univoci. Se MFT crea un flusso di output, MFT assegna l'identificatore.

Per convenzione, se un MFT ha esattamente un flusso di input fisso e un flusso di output fisso, deve assegnare l'identificatore 0 a entrambi i flussi.

Requisiti

   
Client minimo supportato Windows 10 versione 1703
Piattaforma di destinazione Windows
Intestazione mftransform.h

Vedi anche

IMFDeviceTransform