Método IAMStreamConfig::SetFormat (strmif.h)
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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 SetFormat
método define o formato de saída no pino.
Sintaxe
HRESULT SetFormat(
[in] AM_MEDIA_TYPE *pmt
);
Parâmetros
[in] pmt
Ponteiro para uma estrutura AM_MEDIA_TYPE que especifica o novo formato.
Retornar valor
Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Memória insuficiente. |
|
Valor do ponteiro NULL . |
|
Esse tipo de mídia não é válido. |
|
O pino de entrada não está conectado. |
|
Não é possível definir o tipo; o filtro não foi interrompido. |
|
Não é possível definir o tipo; o filtro não foi interrompido. |
Comentários
Esse método especifica o formato do pino de saída. Se o pino não estiver conectado, ele usará esse formato para sua próxima conexão. Se o pino já estiver conectado, ele tentará se reconectar com esse formato. O método poderá falhar se o outro pin rejeitar o novo tipo.
Se esse método for bem-sucedido, as chamadas subsequentes para o método IPin::EnumMediaTypes retornarão o novo tipo e nenhum outro.
Na maioria dos filtros, esse método falhará se o filtro estiver em pausa ou em execução. Em alguns filtros de compactação, o método falhará se o pino de entrada do filtro não estiver conectado.
Com alguns filtros, você pode chamar esse método com o valor NULL para redefinir o pino para seu formato padrão.
Filtrar Desenvolvedores: os seguintes comentários descrevem como implementar esse método:
Se o pino de saída não estiver conectado e o pino der suporte ao tipo de mídia especificado, retorne S_OK. Armazene o tipo de mídia e ofereça-o como o número de formato zero no método CBasePin::GetMediaType . Não ofereça outros formatos e rejeite outros formatos no método CBasePin::CheckMediaType .
Se o pino já estiver conectado e o pino der suporte ao tipo de mídia, reconecte o pino com esse tipo. Se o outro pin rejeitar o novo tipo, retorne VFW_E_INVALIDMEDIATYPE e restaure a conexão original.
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 |