Função MFCreateSinkWriterFromURL (mfreadwrite.h)

Cria o gravador do coletor com base em uma URL ou fluxo de bytes.

Sintaxe

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

Parâmetros

[in] pwszOutputURL

Uma cadeia de caracteres terminada em nulo que contém a URL do arquivo de saída. Este parâmetro pode ser NULL.

[in] pByteStream

Ponteiro para a interface IMFByteStream de um fluxo de bytes. Este parâmetro pode ser NULL.

Se esse parâmetro for um ponteiro válido, o gravador do coletor gravará no fluxo de bytes fornecido. (O fluxo de bytes deve ser gravável.) Caso contrário, se pByteStream for NULL, o gravador do coletor criará um novo arquivo chamado pwszOutputURL.

[in] pAttributes

Ponteiro para a interface IMFAttributes . Você pode usar esse parâmetro para configurar o gravador do coletor. Para obter mais informações, consulte Atributos do Gravador do Coletor. Este parâmetro pode ser NULL.

[out] ppSinkWriter

Recebe um ponteiro para a interface IMFSinkWriter . O chamador deve liberar a interface .

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
MF_E_NOT_FOUND
A URL especificada não foi encontrada.

Comentários

Chame CoInitialize(Ex) e MFStartup antes de chamar essa função.

Os três primeiros parâmetros para essa função podem ser NULL; no entanto, apenas determinadas combinações são válidas:

Descrição pwszOutputURL pByteStream pAttributes
Especifique um fluxo de bytes, sem URL. NULL não NULL Obrigatório (não deve ser NULL).
Especifique uma URL, sem fluxo de bytes. Não NULL NULL Opcional (pode ser NULL).
Especifique uma URL e um fluxo de bytes. não NULL não NULL Opcional (pode ser NULL).
 

O parâmetro pAttributes é necessário no primeiro caso e opcional nos outros.

  • Caso 1: especifique um fluxo de bytes sem uma URL. O parâmetro pAttributes deve apontar para um repositório de atributos que contém o atributo MF_TRANSCODE_CONTAINERTYPE . O gravador do coletor usa o atributo MF_TRANSCODE_CONTAINERTYPE para determinar o tipo de contêiner de arquivo a ser gravado, como ASF ou MP4.
  • Caso 2: especifique uma URL sem um fluxo de bytes. O gravador do coletor cria um novo arquivo chamado pwszOutputURL. Se pAttributes especificar um repositório de atributos com o atributo MF_TRANSCODE_CONTAINERTYPE , o gravador do coletor usará esse atributo para determinar o tipo de contêiner de arquivo. Caso contrário, se o atributo MF_TRANSCODE_CONTAINERTYPE estiver ausente ou pAttributes for NULL, o gravador do coletor usará a extensão de nome de arquivo para selecionar o tipo de contêiner; por exemplo, ".asf" para um arquivo ASF.
  • Caso 3: especifique uma URL e um fluxo de bytes. O gravador do coletor grava no fluxo de bytes. A URL fornecida em pwszOutputURL é somente informativa; o gravador do coletor não cria um novo arquivo. Se pAttributes especificar um repositório de atributos com o atributo MF_TRANSCODE_CONTAINERTYPE , o gravador do coletor usará esse atributo para determinar o tipo de contêiner de arquivo. Caso contrário, o gravador do coletor usará a extensão de nome de arquivo para selecionar o tipo de contêiner. O atributo MF_TRANSCODE_CONTAINERTYPE substitui a extensão de nome de arquivo de URL nesse caso.
Essa função estará disponível no Windows Vista se o Suplemento de Atualização de Plataforma para Windows Vista estiver instalado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Suplemento Windows 7, Windows Vista e Platform Update para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfreadwrite.h
Biblioteca Mfreadwrite.lib
DLL Mfreadwrite.dll

Confira também

Funções do Media Foundation