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 매개 변수는 무시됩니다.

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

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

[in, optional] pVideoSource

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

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

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

기본 비디오 디바이스를 재정의하려면 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