IAMStreamConfig::GetFormat 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
메서드는 GetFormat
현재 또는 기본 설정 출력 형식을 검색합니다.
구문
HRESULT GetFormat(
[out] AM_MEDIA_TYPE **ppmt
);
매개 변수
[out] ppmt
AM_MEDIA_TYPE 구조체에 대한 포인터의 주소입니다.
반환 값
HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.
반환 코드 | Description |
---|---|
|
성공. |
|
메모리가 부족합니다. |
|
NULL 포인터 값입니다. |
|
입력 핀이 연결되어 있지 않습니다. |
설명
핀이 연결된 경우 이 메서드는 핀이 현재 사용 중인 형식을 반환합니다. 그렇지 않으면 메서드는 다음 핀 연결에 대해 핀의 기본 설정 형식을 반환합니다. 형식 GetFormat
을 설정하기 위해 IAMStreamConfig::SetFormat 메서드를 이미 호출한 경우 동일한 형식을 반환합니다. 그렇지 않은 경우 IPin::EnumMediaTypes 메서드에 의해 결정된 대로 핀의 기본 설정 형식 목록에서 첫 번째 형식을 반환합니다.
메서드는 AM_MEDIA_TYPE 구조체에 대한 메모리를 할당하고 구조를 채운 다음 pmt 매개 변수에 반환합니다. 호출자는 형식 블록을 포함하여 메모리를 해제해야 합니다. 기본 클래스 라이브러리에서 DeleteMediaType 도우미 함수를 사용할 수 있습니다.
일부 압축 필터에서는 필터의 입력 핀이 연결되지 않은 경우 메서드가 실패합니다.
예제
C++ |
---|
IAMStreamConfig *pConfig = NULL; // Query the output pin for IAMStreamConfig (not shown). AM_MEDIA_TYPE *pmt = NULL; hr = pConfig->GetFormat(&pmt); if (SUCCEEDED(hr)) { /* Examine the media type for any information you need. */ DeleteMediaType(pmt); } pConfig->Release(); |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | strmif.h(Dshow.h 포함) |
라이브러리 | Strmiids.lib |