Condividi tramite


Flag del resolver di origine

Definisce il comportamento del resolver di origine. Questi flag vengono usati anche dai gestori di schemi e dai gestori di flusso di byte.

Costante/valore Descrizione
MF_RESOLUTION_MEDIASOURCE
0x00000001
Provare a creare un'origine multimediale.
MF_RESOLUTION_BYTESTREAM
0x00000002
Provare a creare un flusso di byte.
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE
0x00000010
Se la risoluzione dell'origine non riesce usando il gestore di flusso byte registrato per l'estensione MIME o nome file, il resolver di origine enumera tutti i gestori di byte registrati.
I gestori di flusso byte vengono registrati dall'estensione del nome file o dal tipo MIME. Inizialmente, il resolver di origine tenta di usare un gestore che corrisponde all'estensione del nome file o al tipo MIME. In caso contrario, per impostazione predefinita l'intera risoluzione di origine ha esito negativo e il resolver di origine restituisce un codice di errore all'applicazione. Se questo flag viene specificato, tuttavia, il resolver di origine continua ad enumerare tutti i gestori di byte-stream registrati. È possibile che un gestore con corrispondenza errata possa creare correttamente l'origine multimediale.
Questo flag non può essere combinato con il flag di MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL. Per ulteriori informazioni, vedere la sezione Osservazioni.
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL
0x00000020
Se la risoluzione di origine ha esito negativo, il resolver di origine non chiude il flusso di byte. Per impostazione predefinita, il resolver di origine chiude il flusso di byte in caso di errore.
Se questo flag viene usato e la risoluzione di origine ha esito negativo, il chiamante deve chiamare di nuovo il metodo e impostare il flag di MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE.
Questo flag non può essere combinato con il flag di MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Per ulteriori informazioni, vedere la sezione Osservazioni.
MF_RESOLUTION_READ
0x00010000
Richiede l'accesso in lettura all'origine.
MF_RESOLUTION_WRITE
0x00020000
Richiede l'accesso in scrittura all'origine.
MF_RESOLUTION_DISABLE_LOCAL_PLUGINS
0x00000040
Il resolver di origine non userà lo schema registrato in locale o i plug-in del gestore bytestream.
Richiede Windows 8.

Commenti

L'applicazione imposta questi flag quando usa l'interfaccia FMSourceResolver . Il resolver di origine passa gli stessi flag ai metodi IMFByteStreamHandler::BeginCreateObject e FMSchemeHandler::BeginCreateObject .

È necessario specificare uno dei flag di MF_RESOLUTION_MEDIASOURCE o di MF_RESOLUTION_BYTESTREAM. I flag rimanenti sono tutti facoltativi.

Il flag di MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL è definito per lo scenario seguente:

  1. L'applicazione tenta di aprire un'origine tramite la rete. L'applicazione imposta il flag di MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL.

  2. L'URL dell'origine contiene l'estensione del nome file errata. Poiché l'estensione del nome file non è corretta, il gestore di byte-stream predefinito non può creare l'origine multimediale. Poiché l'applicazione imposta il flag MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL, il resolver di origine memorizza nella cache il flusso di byte.

  3. Il resolver di origine restituisce un codice di errore all'applicazione.

  4. Il client apre di nuovo l'origine, questa volta impostando il flag di MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Questo flag causa il tentativo del resolver di origine di provare tutti i gestori registrati anziché solo il gestore predefinito. Poiché il flusso di byte è stato memorizzato nella cache, il resolver di origine non deve aprire di nuovo il flusso di byte.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
Intestazione
Mfidl.h

Vedi anche

Costanti di Media Foundation

IMFByteStreamHandler

IMFSchemeHandler

FMSourceResolver

Resolver di origine