다음을 통해 공유


IMFCaptureEngine::Initialize 메서드(mfcaptureengine.h)

캡처 엔진을 초기화합니다.

구문

HRESULT Initialize(
  [in]           IMFCaptureEngineOnEventCallback *pEventCallback,
  [in, optional] IMFAttributes                   *pAttributes,
  [in, optional] IUnknown                        *pAudioSource,
  [in, optional] IUnknown                        *pVideoSource
);

매개 변수

[in] pEventCallback

IMFCaptureEngineOnEventCallback 인터페이스에 대한 포인터입니다. 호출자는 이 인터페이스를 구현해야 합니다. 캡처 엔진은 이 인터페이스를 사용하여 호출자에게 비동기 이벤트를 보냅니다.

[in, optional] pAttributes

IMFAttributes 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

이 매개 변수를 사용하여 캡처 엔진을 구성할 수 있습니다. MFCreateAttributes를 호출하여 특성 저장소를 만든 다음 다음 특성을 설정합니다.

[in, optional] pAudioSource

오디오 캡처 디바이스를 지정하는 IUnknown 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

pAttributes에서 MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY 특성을 TRUE로 설정하면 캡처 엔진은 오디오 디바이스를 사용하지 않으며 pAudioSource 매개 변수는 무시됩니다.

그렇지 않으면 pAudioSourceNULL인 경우 캡처 엔진은 pVideoSource로 지정된 비디오 카메라에 기본 제공되는 마이크를 선택합니다. 비디오 카메라에 마이크가 없는 경우 캡처 엔진은 시스템의 오디오 캡처 디바이스를 열거하고 첫 번째 디바이스를 선택합니다.

기본 오디오 디바이스를 재정의하려면 pAudioSource 를 디바이스에 대한 IMFMediaSource 또는 IMFActivate 포인터로 설정합니다. 자세한 내용은 Media Foundation의 오디오/비디오 캡처를 참조하세요.

[in, optional] pVideoSource

비디오 캡처 디바이스를 지정하는 IUnknown 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

pAttributes에서 MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY 특성을 TRUE로 설정하면 캡처 엔진은 비디오 디바이스를 사용하지 않으며 pVideoSource 매개 변수는 무시됩니다.

그렇지 않으면 pVideoSourceNULL인 경우 캡처 엔진은 시스템의 비디오 캡처 디바이스를 열거하고 첫 번째 디바이스를 선택합니다.

기본 비디오 디바이스를 재정의하려면 pVideoSource 를 디바이스에 대한 IMFMediaSource 또는 IMFActivate 포인터로 설정합니다. 자세한 내용은 비디오 캡처 디바이스 열거를 참조하세요.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
MF_E_INVALIDREQUEST
Initialize 메서드가 이미 호출되었습니다.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
사용할 수 있는 캡처 디바이스가 없습니다.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
지원되지 않는 캡처 디바이스가 시스템에 있습니다. 이 오류는 시스템이 캡처 디바이스를 선택해야 함을 나타내는 pVideoSource 매개 변수에 대해 NULL을 지정하고 지원되는 캡처 디바이스가 이미 연결되어 있지 않은 경우에만 반환됩니다. 이 오류가 반환되는 경우 앱은 일반 오류 메시지 대신 지원되지 않는 특정 캡처 디바이스 메시지를 사용자에게 표시하는 것이 좋습니다.

설명

캡처 엔진을 사용하기 전에 이 메서드를 한 번 호출해야 합니다. 메서드를 두 번째로 호출하면 MF_E_INVALIDREQUEST 반환됩니다.

이 메서드는 비동기적이며, 메서드가 성공 코드를 반환하는 경우 호출자는 IMFCaptureEngineOnEventCallback::OnEvent 메서드를 통해 MF_CAPTURE_ENGINE_INITIALIZED 이벤트를 수신합니다. 메서드가 성공하면 작업이 비동기적으로 실패할 수 있습니다. 이 경우 오류 코드는 OnEvent 메서드를 통해 전달됩니다.

요구 사항

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

추가 정보

IMFCaptureEngine