다음을 통해 공유


IMFCaptureEngineOnEventCallback::OnEvent 메서드(mfcaptureengine.h)

캡처 엔진에서 호출되어 캡처 이벤트를 애플리케이션에 알립니다.

구문

HRESULT OnEvent(
  [in] IMFMediaEvent *pEvent
);

매개 변수

[in] pEvent

IMFMediaEvent 인터페이스에 대한 포인터입니다. 이 인터페이스를 사용하여 설명에 설명된 대로 이벤트에 대한 정보를 가져옵니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이벤트 유형을 얻으려면 IMFMediaEvent::GetExtendedType을 호출합니다. 이 메서드는 다음 GUID 중 하나를 반환합니다.

GUID 설명
MF_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED IMFCaptureSource::RemoveAllEffects 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED 드라이버에 의해 비디오 캡처가 차단되었습니다.
MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED 비디오 캡처가 차단된 후 드라이버에 의해 복원되었습니다.
MF_CAPTURE_ENGINE_EFFECT_ADDED IMFCaptureSource::AddEffect 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_EFFECT_REMOVED IMFCaptureSource::RemoveEffect 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_ERROR 캡처하는 동안 오류가 발생했습니다.
MF_CAPTURE_ENGINE_INITIALIZED IMFCaptureEngine::Initialize 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_PHOTO_TAKEN IMFCaptureEngine::TakePhoto 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_PREVIEW_STARTED IMFCaptureEngine::StartPreview 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_PREVIEW_STOPPED IMFCaptureEngine::StopPreview 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_RECORD_STARTED IMFCaptureEngine::StartRecord 메서드가 완료되었습니다.
MF_CAPTURE_ENGINE_RECORD_STOPPED IMFCaptureEngine::StopRecord 메서드가 완료되었습니다.
MF_CAPTURE_SINK_PREPARED IMFCaptureSink::P repare 메서드가 완료되었습니다.
MF_CAPTURE_SOURCE_CURRENT_DEVICE_MEDIA_TYPE_SET IMFCaptureSource::SetCurrentDeviceMediaType 메서드가 완료되었습니다.
 

이 메서드는 작업자 스레드에서 호출될 수 있습니다. 구현은 스레드로부터 안전해야 합니다.

이벤트에 대한 상태 코드를 얻으려면 IMFMediaEvent::GetStatus를 호출합니다. 상태 코드가 오류 코드인 경우 요청된 작업이 실패했음을 나타냅니다.

또한 pEvent 로 지정된 이벤트 개체에는 다음 특성이 포함될 수 있습니다.

이벤트 특성을 가져오려면 IMFMediaEvent가 상속하는 IMFAttributes 인터페이스를 사용합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfcaptureengine.h

참고 항목

IMFCaptureEngineOnEventCallback