IMFMediaEvent::GetValue 메서드(mfobjects.h)
이벤트와 연결된 값(있는 경우)을 검색합니다. 값은 PROPVARIANT 구조체로 검색됩니다. 실제 데이터 형식 및 값의 의미는 이벤트에 따라 달라집니다.
구문
HRESULT GetValue(
[out] PROPVARIANT *pvValue
);
매개 변수
[out] pvValue
PROPVARIANT 구조체에 대한 포인터입니다. 메서드는 이 구조를 데이터로 채웁니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
설명
이 메서드를 호출하기 전에 PropVariantInit 를 호출하여 PROPVARIANT 구조를 초기화합니다. 메서드가 반환된 후 PropVariantClear 를 호출하여 PROPVARIANT 데이터에 할당된 메모리를 해제합니다.
이 인터페이스는 Windows Media Format 11 SDK 재배포 가능 구성 요소가 설치된 경우 다음 플랫폼에서 사용할 수 있습니다.
- WINDOWS XP SP2(서비스 팩 2) 이상
- KB900325(Windows XP Media Center Edition 2005) 및 KB925766(Windows XP Media Center Edition용 2006년 10월 업데이트 롤업)이 설치된 Windows XP Media Center Edition 2005.
예제
값이 IUnknown 포인터인 경우 다음 함수는 이벤트 값을 가져옵니다. PROPVARIANT 형식이 VT_UNKOWN 않으면 함수는 MF_E_INVALIDTYPE 반환합니다.
// Gets an IUnknown pointer from an IMFMediaEvent event and queries
// the pointer for a specified interface.
//
// NOTE: Applies only to events that contain IUnknown pointers.
// Otherwise, the function returns MF_E_INVALIDTYPE.
template <class Q>
HRESULT GetEventObject(IMFMediaEvent *pEvent, Q **ppObject)
{
*ppObject = NULL; // zero output
PROPVARIANT var;
HRESULT hr = pEvent->GetValue(&var);
if (SUCCEEDED(hr))
{
if (var.vt == VT_UNKNOWN)
{
hr = var.punkVal->QueryInterface(ppObject);
}
else
{
hr = MF_E_INVALIDTYPE;
}
PropVariantClear(&var);
}
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfobjects.h(Mfidl.h 포함) |
라이브러리 | Mfuuid.lib |