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 |
---|---|
|
Êxito. |
|
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.
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 |