다음을 통해 공유


IAMVideoCompression::GetInfo 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 GetInfo 기능 및 기본값을 포함하여 필터의 압축 속성에 대한 정보를 검색합니다.

구문

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
);

매개 변수

[out] pszVersion

버전 문자열(예: "버전 2.1.0")을 수신하는 버퍼에 대한 포인터입니다.

[in, out] pcbVersion

버전 문자열의 크기를 바이트 단위로 받습니다.

[out] pszDescription

"내 비디오 압축기"와 같은 설명 문자열을 수신하는 버퍼에 대한 포인터입니다.

[in, out] pcbDescription

설명 문자열의 크기를 바이트 단위로 받습니다.

[out] pDefaultKeyFrameRate

기본 키 프레임 속도를 받습니다.

[out] pDefaultPFramesPerKey

키 프레임당 예측된(P) 프레임의 기본 속도를 받습니다.

[out] pDefaultQuality

기본 품질을 받습니다.

[out] pCapabilities

압축 기능을 0개 이상의 CompressionCaps 플래그의 비트 조합으로 받습니다.

반환 값

HRESULT 값을 반환합니다.

설명

나열된 매개 변수는 NULL일 수 있으며, 이 경우 메서드는 해당 매개 변수를 무시합니다.

애플리케이션은 버전 및 설명 문자열에 대한 버퍼를 할당해야 합니다. 버퍼의 필요한 크기를 확인하려면 pszVersionpszDescription 매개 변수에 대해 NULL을 사용하여 이 메서드를 호출합니다. 다음 코드와 같이 pcbVersionpcbDescription 에서 반환된 값을 사용하여 버퍼를 할당한 다음 메서드를 다시 호출합니다.

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;
}
문자열은 와이드 문자열이며 반환된 크기는 문자 수가 아닌 바이트 단위입니다. 또한 하나 또는 두 문자열 모두 길이가 0일 수 있습니다.

pCapabilities 매개 변수는 지원되는 압축 속성과 지원되는 IAMVideoCompression 메서드를 나타내는 플래그 집합을 받습니다. 예를 들어 CompressionCaps_CanKeyFrame 플래그가 반환되면 필터는 IAMVideoCompression::get_KeyFrameRateIAMVideoCompression::p ut_KeyFrameRate 메서드를 지원합니다.

나머지 매개 변수는 압축 속성에 대한 기본값을 받습니다. 지원되지 않는 속성( pCapabilities에서 반환된 플래그에 의해 결정됨)의 경우 올바르거나 의미가 없을 수 있으므로 해당 기본값을 무시해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IAMVideoCompression 인터페이스