Compartilhar via


Método IAMVideoCompression::GetInfo (strmif.h)

[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 GetInfo método recupera informações sobre as propriedades de compactação do filtro, incluindo recursos e valores padrão.

Sintaxe

HRESULT GetInfo(
  [out]     LPWSTR pszVersion,
  [in, out] int    *pcbVersion,
  [out]     LPWSTR pszDescription,
  [in, out] int    *pcbDescription,
  [out]     long   *pDefaultKeyFrameRate,
  [out]     long   *pDefaultPFramesPerKey,
  [out]     double *pDefaultQuality,
  [out]     long   *pCapabilities
);

Parâmetros

[out] pszVersion

Ponteiro para um buffer que recebe uma cadeia de caracteres de versão, como "Versão 2.1.0".

[in, out] pcbVersion

Recebe o tamanho da cadeia de caracteres de versão, em bytes.

[out] pszDescription

Ponteiro para um buffer que recebe uma cadeia de caracteres de descrição, como "Meu Compressor de Vídeo".

[in, out] pcbDescription

Recebe o tamanho da cadeia de caracteres de descrição, em bytes.

[out] pDefaultKeyFrameRate

Recebe a taxa de quadro-chave padrão.

[out] pDefaultPFramesPerKey

Recebe a taxa padrão de quadros previstos (P) por quadro-chave.

[out] pDefaultQuality

Recebe a qualidade padrão.

[out] pCapabilities

Recebe os recursos de compactação, como uma combinação bit a bit de zero ou mais sinalizadores CompressionCaps .

Retornar valor

Retorna um valor HRESULT .

Comentários

Qualquer um dos parâmetros listados pode ser NULL, nesse caso, o método ignora esse parâmetro.

O aplicativo deve alocar os buffers para as cadeias de caracteres de versão e descrição. Para determinar o tamanho necessário dos buffers, chame esse método com NULL para os parâmetros pszVersion e pszDescription . Use os valores retornados em pcbVersion e pcbDescription para alocar os buffers e, em seguida, chamar o método novamente, conforme mostrado no seguinte código:

C++
// Get the size of the version and description strings, in bytes.
int cbVersion, cbDesc; 
hr = pCompress->GetInfo(NULL, &cbVersion, NULL, &cbDesc, 
    NULL, NULL, NULL, NULL);
if (SUCCEEDED(hr))
{
    // Allocate the buffers.
    WCHAR *pszVersion = new WCHAR[cbVersion / sizeof(WCHAR)];  
    WCHAR *pszDesc = new WCHAR[cbDesc / sizeof(WCHAR)];

    // Now query for the strings.
    hr = pCompress->GetInfo(pszVersion, &cbVersion, pszDesc, &cbDesc, 
        NULL, NULL, NULL, NULL);
    }
    delete [] pszVersion;
    delete [] pszDesc;
}
Observe que as cadeias de caracteres são cadeias de caracteres largos e os tamanhos retornados estão em bytes, não no número de caracteres. Além disso, uma ou ambas as cadeias de caracteres podem ter comprimento zero.

O parâmetro pCapabilities recebe um conjunto de sinalizadores indicando quais propriedades de compactação têm suporte e, portanto, quais métodos IAMVideoCompression têm suporte. Por exemplo, se o sinalizador CompressionCaps_CanKeyFrame for retornado, ele oferecerá suporte aos métodos IAMVideoCompression::get_KeyFrameRate e IAMVideoCompression::p ut_KeyFrameRate .

Os parâmetros restantes recebem valores padrão para as propriedades de compactação. Para propriedades sem suporte (conforme determinado pelos sinalizadores retornados em pCapabilities), você deve ignorar o valor padrão correspondente, pois ele pode não ser correto ou significativo.

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

Códigos de erro e êxito

IAMVideoCompression Interface