Share via


Marcas de resolución de origen

Define el comportamiento del solucionador de origen. Estos marcadores también los usan los controladores de esquema y los controladores de flujos de bytes.

Constante o valor Descripción
MF_RESOLUTION_MEDIASOURCE
0x00000001
Intente crear un origen multimedia.
MF_RESOLUTION_BYTESTREAM
0x00000002
Intente crear una secuencia de bytes.
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE
0x00000010
Si se produce un error en la resolución de origen mediante el controlador de secuencia de bytes registrado para el tipo MIME o la extensión de nombre de archivo, el solucionador de origen enumera todos los controladores de secuencia de bytes registrados.
Los controladores de secuencias de bytes se registran por extensión de nombre de archivo o tipo MIME. Inicialmente, el solucionador de origen intenta usar un controlador que coincida con la extensión de nombre de archivo o el tipo MIME. Si se produce un error, de forma predeterminada se produce un error en toda la resolución de origen y la resolución de origen devuelve un código de error a la aplicación. Sin embargo, si se especifica esta marca, el solucionador de origen continúa enumerando todos los controladores de secuencia de bytes registrados. Posiblemente, un controlador con coincidencia incorrecta puede crear correctamente el origen multimedia.
Esta marca no se puede combinar con la marca MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL. Vea Comentarios para obtener más información.
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL
0x00000020
Si se produce un error en la resolución de origen, la resolución de origen no cierra la secuencia de bytes. De forma predeterminada, el solucionador de origen cierra la secuencia de bytes en caso de error.
Si se usa esta marca y se produce un error en la resolución de origen, el autor de la llamada debe llamar al método de nuevo y establecer la marca MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE.
Esta marca no se puede combinar con la marca MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Vea Comentarios para obtener más información.
MF_RESOLUTION_READ
0x00010000
Solicita acceso de lectura al origen.
MF_RESOLUTION_WRITE
0x00020000
Solicita acceso de escritura al origen.
MF_RESOLUTION_DISABLE_LOCAL_PLUGINS
0x00000040
El solucionador de origen no usará el esquema registrado localmente ni los complementos de controlador de bytestream.
Requiere Windows 8.

Comentarios

La aplicación establece estas marcas cuando usa la interfaz IMFSourceResolver . El solucionador de origen pasa las mismas marcas a los métodos IMFByteStreamHandler::BeginCreateObject y IMFSchemeHandler::BeginCreateObject .

Debe especificar una de las marcas MF_RESOLUTION_MEDIASOURCE o MF_RESOLUTION_BYTESTREAM. Las marcas restantes son opcionales.

La marca MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL se define para el escenario siguiente:

  1. La aplicación intenta abrir un código fuente a través de la red. La aplicación establece la marca MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL.

  2. La dirección URL del origen contiene la extensión de nombre de archivo incorrecta. Dado que la extensión de nombre de archivo es incorrecta, el controlador de secuencia de bytes predeterminado no puede crear el origen multimedia. Dado que la aplicación establece la marca MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL, la resolución de origen almacena en caché la secuencia de bytes.

  3. El solucionador de origen devuelve un código de error a la aplicación.

  4. El cliente vuelve a abrir el origen, esta vez estableciendo la marca MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Esta marca hace que el solucionador de origen pruebe todos los controladores registrados en lugar de solo el controlador predeterminado. Dado que la secuencia de bytes se ha almacenado en caché, la resolución de origen no tiene que volver a abrir la secuencia de bytes.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Mfidl.h

Consulte también

Constantes de Media Foundation

IMFByteStreamHandler

IMFSchemeHandler

IMFSourceResolver

Solucionador de origen