Compartilhar via


Método IEnumMediaTypes::Next (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 método Next recupera um número especificado de tipos de mídia.

Sintaxe

HRESULT Next(
  [in]  ULONG         cMediaTypes,
  [out] AM_MEDIA_TYPE **ppMediaTypes,
  [out] ULONG         *pcFetched
);

Parâmetros

[in] cMediaTypes

O número de tipos de mídia a serem recuperados.

[out] ppMediaTypes

O endereço de uma matriz de ponteiros AM_MEDIA_TYPE . O número de elementos na matriz é fornecido no parâmetro cMediaTypes .

[out] pcFetched

Recebe o número de tipos de mídia retornados em ppMediaTypes. Esse parâmetro poderá ser NULL se cMediaTypes for 1.

Retornar valor

Retorna um dos seguintes valores HRESULT .

Código de retorno Descrição
S_FALSE
Não recuperou tantos tipos de mídia quanto solicitado.
S_OK
Êxito.
E_INVALIDARG
Argumento inválido.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_ENUM_OUT_OF_SYNC
O estado do pino foi alterado e agora está inconsistente com o enumerador.

Comentários

O chamador passa uma matriz de ponteiros AM_MEDIA_TYPE em ppMediaTypes. O método aloca um número AM_MEDIA_TYPE estruturas iguais a cMediaTypes ou ao número de tipos de mídia que permanecem na enumeração, o que for menor. O número de estruturas alocadas é retornado em pcFetched. Exclua cada estrutura chamando a função DeleteMediaType .

Se o conjunto de tipos de mídia for alterado, o enumerador se tornará inconsistente com o pino proprietário. Nesse caso, o método retorna VFW_E_ENUM_OUT_OF_SYNC. Descarte todos os dados obtidos de chamadas anteriores para o enumerador, pois eles podem ser inválidos. Atualize o enumerador chamando o método IEnumMediaTypes::Reset . Em seguida, você pode chamar o método Next com segurança.

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

Confira também

Enumerando tipos de mídia

Códigos de erro e êxito

IEnumMediaTypes Interface