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를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | 설명 |
---|---|
|
메서드가 성공했습니다. |
|
요청된 액세스(읽기 또는 쓰기)를 사용하여 URL을 열 수 없습니다. |
|
지원되지 않는 바이트 스트림 형식입니다. |
설명
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 |