다음을 통해 공유


IMemAllocatorCallbackTemp::SetNotify 메서드(strmif.h)

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

메서드는 SetNotify 할당자에서 콜백을 설정하거나 제거합니다. 할당자는 할당자의 IMemAllocator::ReleaseBuffer 메서드가 호출될 때마다 콜백 메서드를 호출합니다.

구문

HRESULT SetNotify(
  IMemAllocatorNotifyCallbackTemp *pNotify
);

매개 변수

pNotify

콜백에 사용할 IMemAllocatorNotifyCallbackTemp 인터페이스에 대한 포인터입니다. 호출자는 인터페이스를 구현해야 합니다. NULL 값을 사용하여 콜백을 제거합니다.

반환 값

성공하면 S_OK 반환하고, 그렇지 않으면 오류 코드를 반환합니다.

설명

할당자의 ReleaseBuffer 메서드가 호출될 때마다 할당자는 pNotify에 제공된 인터페이스에서 NotifyRelease 메서드를 호출합니다. ReleaseBuffer 메서드는 미디어 샘플을 할당자의 무료 목록에 반환합니다. 샘플은 참조 수가 0에 도달하면 이 메서드를 호출합니다.

할당자는 호출자의 IMemAllocatorNotifyCallbackTemp 인터페이스에 대한 참조 수를 보유합니다. 이렇게 하면 순환 참조 수가 생성되어 그래프의 개체가 올바르게 해제되지 않도록 할 수 있습니다. 따라서 호출자에게 더 이상 콜백 알림이 필요하지 않은 경우 NULL 값으로 이 메서드를 다시 호출해야 합니다. 이 작업을 수행하는 적절한 시간은 그래프가 중지되거나 핀의 연결이 끊어지는 경우입니다.

요구 사항

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

추가 정보

오류 및 성공 코드

IMemAllocatorCallbackTemp 인터페이스