Compartir a través de


Función MFCreateSinkWriterFromURL (mfreadwrite.h)

Crea el escritor receptor a partir de una dirección URL o secuencia de bytes.

Sintaxis

HRESULT MFCreateSinkWriterFromURL(
  [in]  LPCWSTR       pwszOutputURL,
  [in]  IMFByteStream *pByteStream,
  [in]  IMFAttributes *pAttributes,
  [out] IMFSinkWriter **ppSinkWriter
);

Parámetros

[in] pwszOutputURL

Cadena terminada en null que contiene la dirección URL del archivo de salida. Este parámetro puede ser NULL.

[in] pByteStream

Puntero a la interfaz IMFByteStream de una secuencia de bytes. Este parámetro puede ser NULL.

Si este parámetro es un puntero válido, el escritor receptor escribe en la secuencia de bytes proporcionada. (La secuencia de bytes debe ser grabable). De lo contrario, si pByteStream es NULL, el escritor receptor crea un nuevo archivo denominado pwszOutputURL.

[in] pAttributes

Puntero a la interfaz IMFAttributes . Puede usar este parámetro para configurar el sistema de escritura receptor. Para obtener más información, vea Atributos del escritor de receptores. Este parámetro puede ser NULL.

[out] ppSinkWriter

Recibe un puntero a la interfaz IMFSinkWriter . El autor de la llamada debe liberar la interfaz .

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
MF_E_NOT_FOUND
No se encontró la dirección URL especificada.

Comentarios

Llame a CoInitialize(Ex) y MFStartup antes de llamar a esta función.

Los tres primeros parámetros de esta función pueden ser NULL; sin embargo, solo ciertas combinaciones son válidas:

Descripción pwszOutputURL pByteStream pAttributes
Especifique una secuencia de bytes, sin dirección URL. NULL distinto de NULL Obligatorio (no debe ser NULL).
Especifique una dirección URL sin secuencia de bytes. no NULL NULL Opcional (puede ser NULL).
Especifique una dirección URL y una secuencia de bytes. distinto de NULL distinto de NULL Opcional (puede ser NULL).
 

El parámetro pAttributes es necesario en el primer caso y opcional en los demás.

  • Caso 1: especifique una secuencia de bytes sin una dirección URL. El parámetro pAttributes debe apuntar a un almacén de atributos que contenga el atributo MF_TRANSCODE_CONTAINERTYPE . El escritor receptor usa el atributo MF_TRANSCODE_CONTAINERTYPE para determinar el tipo de contenedor de archivos que se va a escribir, como ASF o MP4.
  • Caso 2: especifique una dirección URL sin una secuencia de bytes. El escritor receptor crea un nuevo archivo denominado pwszOutputURL. Si pAttributes especifica un almacén de atributos con el atributo MF_TRANSCODE_CONTAINERTYPE , el escritor receptor usa ese atributo para determinar el tipo de contenedor de archivos. De lo contrario, si el atributo MF_TRANSCODE_CONTAINERTYPE está ausente o pAttributes es NULL, el escritor receptor usa la extensión de nombre de archivo para seleccionar el tipo de contenedor; por ejemplo, ".asf" para un archivo ASF.
  • Caso 3: especifique una dirección URL y una secuencia de bytes. El escritor receptor escribe en la secuencia de bytes. La dirección URL proporcionada en pwszOutputURL es solo informativa; el escritor receptor no crea un nuevo archivo. Si pAttributes especifica un almacén de atributos con el atributo MF_TRANSCODE_CONTAINERTYPE , el escritor receptor usa ese atributo para determinar el tipo de contenedor de archivos. De lo contrario, el escritor receptor usa la extensión de nombre de archivo para seleccionar el tipo de contenedor. El atributo MF_TRANSCODE_CONTAINERTYPE invalida la extensión de nombre de archivo de dirección URL en este caso.
Esta función está disponible en Windows Vista si está instalado el complemento de actualización de la plataforma para Windows Vista.

Requisitos

Requisito Value
Cliente mínimo compatible Complemento de actualización de Windows 7, Windows Vista y plataforma para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfreadwrite.h
Library Mfreadwrite.lib
Archivo DLL Mfreadwrite.dll

Consulte también

Funciones de Media Foundation