Sinalizadores de resolvedor de origem
Define o comportamento do resolvedor de origem. Esses sinalizadores também são usados por manipuladores de esquema e manipuladores de fluxo de bytes.
Constante/valor | Descrição |
---|---|
|
Tente criar uma fonte de mídia. |
|
Tente criar um fluxo de bytes. |
|
Se a resolução de origem falhar usando o manipulador de fluxo de bytes registrado para o tipo MIME ou a extensão de nome de arquivo, o resolvedor de origem enumera por meio de todos os manipuladores de fluxo de bytes registrados. Manipuladores de fluxo de bytes são registrados por extensão de nome de arquivo ou tipo MIME. Inicialmente, o resolvedor de origem tenta usar um manipulador que corresponda à extensão de nome de arquivo ou ao tipo MIME. Se isso falhar, por padrão, toda a resolução do código-fonte falhará e o resolvedor de origem retornará um código de erro para o aplicativo. No entanto, se esse sinalizador for especificado, o resolvedor de origem continuará a enumerar por meio de todos os manipuladores de fluxo de bytes registrados. Possivelmente, um manipulador com correspondência incorreta pode criar com êxito a fonte de mídia. Esse sinalizador não pode ser combinado com o sinalizador MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL. Confira Comentários para obter mais informações. |
|
Se a resolução de origem falhar, o resolvedor de origem não fechará o fluxo de bytes. Por padrão, o resolvedor de origem fecha o fluxo de bytes em caso de falha. Se esse sinalizador for usado e a resolução de origem falhar, o chamador deverá chamar o método novamente e definir o sinalizador MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Esse sinalizador não pode ser combinado com o sinalizador MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Confira Comentários para obter mais informações. |
|
Solicita acesso de leitura à origem. |
|
Solicita acesso de gravação à origem. |
|
O resolvedor de origem não usará plug-ins de manipulador de bytestream ou esquema registrado localmente. Requer Windows 8. |
Comentários
O aplicativo define esses sinalizadores quando usa a interface IMFSourceResolver . O resolvedor de origem passa as mesmas bandeiras para os métodos IMFByteStreamHandler::BeginCreateObject e IMFSchemeHandler::BeginCreateObject .
Você deve especificar um dos sinalizadores de MF_RESOLUTION_MEDIASOURCE ou MF_RESOLUTION_BYTESTREAM. Os sinalizadores restantes são todos opcionais.
O sinalizador MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL é definido para o seguinte cenário:
O aplicativo tenta abrir uma fonte pela rede. O aplicativo define o sinalizador MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL.
A URL da origem contém a extensão de nome de arquivo incorreta. Como a extensão de nome de arquivo está errada, o manipulador de fluxo de bytes padrão não pode criar a fonte de mídia. Como o aplicativo definiu o sinalizador MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL, o resolvedor de origem armazena em cache o fluxo de bytes.
O resolvedor de origem retorna um código de erro para o aplicativo.
O cliente abre a origem novamente, desta vez definindo o sinalizador MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Esse sinalizador faz com que o resolvedor de origem experimente todos os manipuladores registrados em vez de apenas o manipulador padrão. Como o fluxo de bytes foi armazenado em cache, o resolvedor de origem não precisa abrir o fluxo de bytes novamente.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Confira também