다음을 통해 공유


IMFSchemeHandler::BeginCreateObject 메서드(mfidl.h)

URL에서 개체를 만드는 비동기 요청을 시작합니다.

원본 확인자가 URL에서 미디어 원본을 만들면 요청이 스키마 처리기에 전달됩니다. 스키마 처리기는 URL에서 직접 미디어 원본을 만들거나 바이트 스트림을 반환할 수 있습니다. 바이트 스트림을 반환하는 경우 원본 확인자는 바이트 스트림 처리기를 사용하여 바이트 스트림에서 미디어 원본을 만듭니다.

구문

HRESULT BeginCreateObject(
  [in]  LPCWSTR          pwszURL,
  [in]  DWORD            dwFlags,
  [in]  IPropertyStore   *pProps,
  [out] IUnknown         **ppIUnknownCancelCookie,
  [in]  IMFAsyncCallback *pCallback,
  [in]  IUnknown         *punkState
);

매개 변수

[in] pwszURL

resolve URL을 포함하는 null로 끝나는 문자열입니다.

[in] dwFlags

하나 이상의 플래그의 비트 OR 입니다. 원본 확인자 플래그를 참조하세요.

[in] pProps

속성 저장소의 IPropertyStore 인터페이스에 대한 포인터입니다. 스키마 처리기는 이 속성 저장소를 사용하여 개체를 구성할 수 있습니다. 이 매개 변수는 NULL일 수 있습니다. 자세한 내용은 미디어 원본 구성을 참조하세요.

[out] ppIUnknownCancelCookie

IUnknown 포인터 또는 NULL 값을 받습니다. 값이 NULL이 아닌 경우 이 포인터를 IMFSchemeHandler::CancelObjectCreation 메서드에 전달하여 비동기 작업을 취소할 수 있습니다. 호출자는 인터페이스를 해제해야 합니다. 이 매개 변수는 NULL일 수 있으며, 이 경우 IUnknown 포인터가 호출자에게 반환되지 않습니다.

[in] pCallback

콜백 개체의 IMFAsyncCallback 인터페이스에 대한 포인터입니다. 호출자는 이 인터페이스를 구현해야 합니다.

[in] punkState

호출자가 정의한 상태 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 개체를 사용하여 상태 정보를 저장할 수 있습니다. 콜백이 호출될 때 개체가 호출자에게 반환됩니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
메서드가 성공했습니다.
E_ACCESSDENIED
요청된 액세스(읽기 또는 쓰기)를 사용하여 URL을 열 수 없습니다.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
지원되지 않는 바이트 스트림 형식입니다.

설명

dwFlags 매개 변수에는 MF_RESOLUTION_MEDIASOURCE 플래그 또는 MF_RESOLUTION_BYTESTREAM 플래그가 포함되어야 합니다. MF_RESOLUTION_MEDIASOURCE 플래그가 설정된 경우 스키마 처리기는 URL에서 직접 미디어 원본을 만들거나 바이트 스트림을 만들 수 있습니다. 개체 형식은 IMFSchemeHandler::EndCreateObject 메서드의 pObjectType 매개 변수에 반환됩니다. 스키마 처리기가 바이트 스트림을 반환하는 경우 원본 확인자는 바이트 스트림을 바이트 스트림 처리기로 전달하여 바이트 스트림에서 미디어 원본을 만듭니다.

MF_RESOLUTION_BYTESTREAM 플래그가 설정된 경우 스키마 처리기는 URL에서 바이트 스트림을 만들려고 시도합니다. 그러나 스키마 처리기가 바이트 스트림이 아닌 미디어 원본을 직접 만들도록 설계된 경우 메서드가 실패합니다.

다음 표에서는 이 메서드에 전달될 때 이러한 두 플래그의 동작을 요약합니다.

플래그 만든 개체
MF_RESOLUTION_MEDIASOURCE 미디어 원본 또는 바이트 스트림
MF_RESOLUTION_BYTESTREAM 바이트 스트림
 

경우 중복되지만 MF_RESOLUTION_MEDIASOURCE 및 MF_RESOLUTION_BYTESTREAM 플래그를 결합할 수 있습니다.

작업이 완료되면 스키마 처리기는 IMFAsyncCallback::Invoke 메서드를 호출합니다. Invoke 메서드는 IMFSchemeHandler::EndCreateObject 를 호출하여 만든 개체에 대한 포인터를 가져와야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfuuid.lib

참고 항목

IMFSchemeHandler

체계 처리기 및 Byte-Stream 처리기