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 |
---|---|
|
Transizione dello stato del flusso completata. |
|
Puntatore non valido passato. |
|
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 |