IMFByteStreamHandler::BeginCreateObject 메서드(mfidl.h)
바이트 스트림에서 미디어 원본을 만드는 비동기 요청을 시작합니다.
구문
HRESULT BeginCreateObject(
[in] IMFByteStream *pByteStream,
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] IUnknown **ppIUnknownCancelCookie,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
매개 변수
[in] pByteStream
바이트 스트림의 IMFByteStream 인터페이스에 대한 포인터입니다.
[in] pwszURL
바이트 스트림의 원래 URL을 포함하는 문자열입니다. 이 매개 변수는 NULL일 수 있습니다.
[in] dwFlags
0개 이상의 플래그의 비트 OR입니다. 원본 확인자 플래그를 참조하세요.
[in] pProps
속성 저장소의 IPropertyStore 인터페이스에 대한 포인터입니다. 바이트 스트림 처리기는 이 속성 저장소를 사용하여 개체를 구성할 수 있습니다. 이 매개 변수는 NULL일 수 있습니다. 자세한 내용은 미디어 원본 구성을 참조하세요.
[out] ppIUnknownCancelCookie
IUnknown 포인터 또는 NULL 값을 받습니다. 값이 NULL이 아닌 경우 이 포인터를 IMFByteStreamHandler::CancelObjectCreation 메서드에 전달하여 비동기 작업을 취소할 수 있습니다. 호출자는 인터페이스를 해제해야 합니다. 이 매개 변수는 NULL일 수 있습니다.
[in] pCallback
콜백 개체의 IMFAsyncCallback 인터페이스에 대한 포인터입니다. 호출자는 이 인터페이스를 구현해야 합니다.
[in] punkState
호출자가 정의한 상태 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 개체를 사용하여 상태 정보를 저장할 수 있습니다. 콜백이 호출될 때 개체가 호출자에게 반환됩니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
바이트 스트림을 구문 분석할 수 없습니다. |
설명
dwFlags 매개 변수는 MF_RESOLUTION_MEDIASOURCE 플래그를 포함해야 하며 MF_RESOLUTION_BYTESTREAM 플래그를 포함해서는 안 됩니다.
바이트 스트림 처리기는 스트림을 구문 분석하고 콘텐츠의 유효성을 검사합니다. 스트림이 유효하지 않거나 바이트 스트림 처리기가 스트림을 구문 분석할 수 없는 경우 처리기는 오류 코드를 반환해야 합니다. 바이트 스트림은 바이트 처리기가 구문 분석하도록 설계된 스트림 형식과 일치하도록 보장되지 않습니다.
pwszURL 매개 변수가 NULL이 아닌 경우 바이트 스트림 처리기는 확인 프로세스 중에 URL을 사용할 수 있습니다. (예를 들어 파일 이름 확장명(있는 경우)을 사용할 수 있습니다. 또한 바이트 스트림에는 MIME 형식을 지정하는 MF_BYTESTREAM_CONTENT_TYPE 특성이 포함될 수 있습니다.
작업이 완료되면 바이트 스트림 처리기는 IMFAsyncCallback::Invoke 메서드를 호출합니다. Invoke 메서드는 IMFByteStreamHandler::EndCreateObject를 호출하여 미디어 원본에 대한 포인터를 가져와야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfidl.h |
라이브러리 | Mfuuid.lib |