IAMDevMemoryAllocator::GetDevMemoryObject 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
구문
HRESULT GetDevMemoryObject(
[out] IUnknown **ppUnkInnner,
[in] IUnknown *pUnkOuter
);
매개 변수
[out] ppUnkInnner
새로 만든 컨트롤 개체의 자체 IUnknown에 대한 포인터의 주소입니다. 외부 개체가 제거되면 이 내부 IUnknown 인터페이스를 해제해야 합니다. 사용자 지정 할당자는 이 포인터에서 QueryInterface 메서드를 호출하여 IAMDevMemoryControl 인터페이스를 가져와야 합니다.
[in] pUnkOuter
사용자 지정 할당자의 고유 IUnknown 인터페이스에 대한 포인터입니다. 이 인터페이스는 사용자 지정 할당자 내에서 디바이스 메모리 제어 개체를 집계합니다.
반환 값
HRESULT 값을 반환합니다.
설명
온보드 메모리를 사용해야 하는 렌더러가 새 할당자를 받을 때 IAMDevMemoryControl 을 쿼리하여 메모리가 동일한 디바이스에서 발생했는지 확인하기 때문에 디바이스 메모리 제어 개체는 사용자 지정 할당자를 사용하여 집계해야 합니다. 이는 하드웨어 필터가 온보드 메모리를 사용하거나 사용하지 않을 수 있는 IMemAllocator 개체를 수신하기 때문에 발생합니다. 호환되는 할당자인지 여부를 결정하기 위해 개체는 IAMDevMemoryControl 인터페이스를 쿼리하여 특정 메서드에 액세스합니다. IAMDevMemoryControl은 IAMDevMemoryControl의 메서드를 구현하는 집계된 개체를 만듭니다(종종 하드웨어에 따라 다름).
외부 개체가 집계를 구현하는 방법에 대한 규칙은 COM 설명서를 참조하세요.
요구 사항
대상 플랫폼 | Windows |
헤더 | strmif.h(Dshow.h 포함) |