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 |
---|---|
|
Provare a creare un'origine multimediale. |
|
Provare a creare un flusso di byte. |
|
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. |
|
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. |
|
Richiede l'accesso in lettura all'origine. |
|
Richiede l'accesso in scrittura all'origine. |
|
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:
L'applicazione tenta di aprire un'origine tramite la rete. L'applicazione imposta il flag di MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL.
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.
Il resolver di origine restituisce un codice di errore all'applicazione.
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 |
|
Vedi anche