Metodo IMFMediaSession::SetTopology (mfidl.h)
Imposta una topologia nella sessione multimediale.
Sintassi
HRESULT SetTopology(
[in] DWORD dwSetTopologyFlags,
[in] IMFTopology *pTopology
);
Parametri
[in] dwSetTopologyFlags
OR bit per bit di zero o più flag dall'enumerazione MFSESSION_SETTOPOLOGY_FLAGS.
[in] pTopology
Puntatore all'interfaccia FMTo topologia dell'oggetto topologia.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Impossibile eseguire l'operazione nello stato corrente della sessione multimediale. |
|
La sessione multimediale è stata arrestata. |
|
La topologia ha valori non validi per uno o più degli attributi seguenti: |
|
Impossibile riprodurre contenuto protetto durante il debug. |
Commenti
Se pTo topologia è una topologia completa, impostare il flag di MFSESSION_SETTOPOLOGY_NORESOLUTION nel parametro dwSetTopologyFlags . In caso contrario, si presuppone che la topologia sia una topologia parziale. La sessione multimediale usa il caricatore della topologia per risolvere una topologia parziale in una topologia completa.
Se la sessione multimediale è attualmente sospesa o arrestata, il metodo SetTopology non ha effetto fino alla chiamata successiva a FMMediaSession::Start.
Se la sessione multimediale è attualmente in esecuzione o nella chiamata successiva a Start, il metodo SetTopology esegue le operazioni seguenti:
- Se il flag di MFSESSION_SETTOPOLOGY_IMMEDIATE è impostato in dwSetTopologyFlags, la sessione multimediale termina immediatamente la presentazione corrente, cancella tutte le topologie in sospeso e usa pTopology per avviare una nuova presentazione.
- In caso contrario, la pTo topologia della sessione multimediale viene accodato e avvia la nuova presentazione al termine della presentazione corrente. Se non è presente alcuna presentazione corrente, la nuova presentazione viene avviata immediatamente.
- A partire da Windows 7, è anche possibile specificare il flag di MFSESSION_SETTOPOLOGY_CLEAR_CURRENT per cancellare la topologia corrente, ma lasciare qualsiasi altra topologia in sospeso nella coda.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | mfidl.h |
Libreria | Mfuuid.lib |