Metodo IMFTransform::GetStreamIDs (mftransform.h)
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 *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
Parametri
[in] dwInputIDArraySize
Numero di elementi nella matrice pdwInputIDs .
[out] pdwInputIDs
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 IMFTransform::GetStreamCount.
Se il chiamante passa una matrice maggiore del numero di flussi di input, MFT non deve scrivere valori nelle voci di matrice aggiuntive.
[in] dwOutputIDArraySize
Numero di elementi nella matrice pdwOutputIDs .
[out] pdwOutputIDs
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 GetStreamCount.
Se il chiamante passa una matrice maggiore del numero di flussi di output, MFT non deve scrivere valori nelle voci di matrice aggiuntive.
Valore restituito
Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Non implementato. Vedere la sezione Osservazioni. |
|
Una o entrambe le matrici sono troppo piccole. |
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 IMFTransform che operano sui flussi accettano identificatori di flusso.
Questo metodo può restituire E_NOTIMPL se sono soddisfatte entrambe le condizioni seguenti:
- La trasformazione ha un numero fisso di flussi.
- I flussi vengono numerati consecutivamente da 0 a n - 1, dove n è il numero di flussi di input o flussi di output. In altre parole, il primo flusso di input è 0, il secondo è 1 e così via; e il primo flusso di output è 0, il secondo è 1 e così via.
- MFT può aggiungere o rimuovere flussi di output.
- MFT consente al client di aggiungere o rimuovere flussi di input.
- Gli identificatori del flusso non sono consecutivi.
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.
Se MFT_UNIQUE_METHOD_NAMES viene definito prima di includere mftransform.h, questo metodo viene rinominato MFTGetStreamIDs. Vedere Creazione di oggetti DMO/MFT ibridi.
Requisiti
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | mftransform.h |
Libreria | Mfuuid.lib |