Metodo IMFTransform::P rocessEvent (mftransform.h)
Invia un evento a un flusso di input in questa trasformazione di Media Foundation (MFT).
Sintassi
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
Parametri
[in] dwInputStreamID
Identificatore del flusso di input. Per ottenere l'elenco degli identificatori di flusso, chiamare IMFTransform::GetStreamIDs.
[in] pEvent
Puntatore all'interfaccia IMFMediaEvent di un oggetto evento.
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. |
|
Numero di flusso non valido. |
|
Il tipo di supporto non è impostato su uno o più flussi. |
|
La pipeline non deve propagare l'evento. |
Commenti
Un MFT può gestire l'invio dell'evento downstream oppure può consentire alla pipeline di eseguire questa operazione, come indicato dal valore restituito:
- E_NOTIMPL: MFT ignora tutti gli eventi e la pipeline deve inviare tutti gli eventi downstream. Dopo che la pipeline riceve questo valore restituito, potrebbe non chiamare di nuovo ProcessEvent .
- S_OK: MFT ha esaminato questo evento, ma la pipeline deve inviare l'evento downstream. Internamente, il MFT potrebbe rispondere all'evento in qualche modo o potrebbe ignorare l'evento.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: la pipeline non deve propagare questo evento downstream. MFT invierà l'evento downstream oppure MFT utilizzerà l'evento e non lo invierà a valle. MFT deve utilizzare l'evento solo se l'evento deve arrestarsi in questo MFT e non spostarsi più a valle. Ma nella maggior parte dei casi, l'evento deve viaggiare a valle.
Gli eventi devono essere serializzati con gli esempi precedenti e successivi. Collegare l'evento all'esempio di output che segue l'evento . La pipeline elabora prima l'evento e quindi l'esempio. Se un MFT contiene uno o più campioni tra le chiamate a IMFTransform::P rocessInput e ProcessOutput, il MFT deve gestire l'invio di tutti gli eventi downstream, perché in questa situazione la pipeline non può correlare campioni di input con esempi di output.
Se un MFT non contiene campioni e non è necessario esaminare alcun evento, può restituire E_NOTIMPL.
Se MFT_UNIQUE_METHOD_NAMES viene definito prima di includere mftransform.h, questo metodo viene rinominato MFTProcessEvent. 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 |