Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O SetOutputFileName método cria a seção de gravação de arquivo do grafo de filtro.
Sintaxe
HRESULT SetOutputFileName(
[in] const GUID *pType,
[in] LPCOLESTR lpstrFile,
[out] IBaseFilter **ppf,
[out] IFileSinkFilter **ppSink
);
Parâmetros
[in] pType
Ponteiro para um GUID que representa o subtipo de mídia da saída ou o CLSID (identificador de classe) de um filtro multiplexer ou filtro de gravador de arquivos. Se você especificar um subtipo de mídia, ele deverá ser um dos seguintes:
| Valor | Descrição |
|---|---|
| MEDIASUBTYPE_Avi | Audio-Video Interleaved (AVI) |
| MEDIASUBTYPE_Asf | Advanced Systems Format (ASF) |
[in] lpstrFile
Ponteiro para uma cadeia de caracteres largos que contém o nome do arquivo de saída.
[out] ppf
Endereço de um ponteiro que recebe a interface IBaseFilter do multiplexer.
[out] ppSink
Endereço de um ponteiro que recebe a interface IFileSinkFilter do gravador de arquivos. Pode ser NULL.
Retornar valor
Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.
| Código de retorno | Descrição |
|---|---|
|
Êxito. |
|
Falha. |
|
Argumento de ponteiro NULL. |
Comentários
Esse método cria um filtro multiplexer com base no valor do parâmetro pType . Para a AVI, ele cria o Filtro AVI Mux. Para o ASF, ele cria o Gravador ASF do WM. Para outros valores, ele cria o filtro identificado pelo CLSID. Ele adiciona o multiplexer ao grafo de filtro e retorna um ponteiro para sua interface IBaseFilter no parâmetro ppf .
Se o multiplexer der suporte à interface IFileSinkFilter , o método chamará IFileSinkFilter::SetFileName para definir o nome do arquivo de saída, usando o valor fornecido no parâmetro lpwstrFile . Se o multiplexer não der suporte à interface IFileSinkFilter , o método adicionará o Filtro de Gravador de Arquivo ao grafo de filtro, conectará o multiplexer ao gravador de arquivos e usará a interface IFileSinkFilter do gravador de arquivos para chamar SetFileName. Se o parâmetro pSink não for NULL, ele receberá um ponteiro para a interface IFileSinkFilter .
Você pode usar o ponteiro para o filtro multiplexer, retornado no parâmetro ppf , como o parâmetro pSink no método ICaptureGraphBuilder2::RenderStream .
Para filtros multiplexer personalizados, o método falhará se o filtro não oferecer suporte a uma conexão em seu pino de saída antes que seus pinos de entrada sejam conectados. Por exemplo, o Exemplo de Filtro WavDest incluído no SDK tem essa limitação.
Se o método for bem-sucedido, a interface IBaseFilter retornada no parâmetro ppf terá uma contagem de referência pendente. Se o método for bem-sucedido e pSink não for NULL, a interface IFileSinkFilter também terá uma contagem de referência pendente. Certifique-se de liberar ambas as interfaces quando terminar de usá-las.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | strmif.h (inclua Dshow.h) |
| Biblioteca | Strmiids.lib |