다음을 통해 공유


라이브러리 파일 및 컴파일러 설정

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows Media Format SDK를 사용하여 애플리케이션을 개발하려면 Microsoft Visual C++ 버전 6.0 이상을 사용해야 합니다. 개발에 적합한 프로그래밍 언어는 C++ 및 C뿐입니다.

이 SDK에 포함된 다양한 헤더 파일의 내용은 다음 표에 설명되어 있습니다.

헤더 파일 설명
asferr.h ASF 파일 작업과 관련된 오류 코드를 정의합니다. 이 헤더는 wmsdk.h에 포함되어 있습니다.
drmexternals.h DRM(디지털 권한 관리)에 사용되는 구조체, 열거형 및 상수를 정의합니다. DRM을 사용하는 애플리케이션을 작성할 때 이 헤더를 포함합니다.
dshowasf.h Microsoft DirectShow QASF 필터를 정의합니다. ASF 파일을 만들거나 읽는 DirectShow 애플리케이션을 작성할 때 이 헤더를 포함합니다. 자세한 내용은 DirectShow 및 Windows Media를 참조하세요.
msnetobj.h Windows Media Format SDK와 함께 설치된 런타임 라이브러리 중 하나에서 구현되는 IRMGetLicense 인터페이스를 정의합니다.
nserror.h Windows Media Technologies에 대한 오류 코드를 정의합니다. 이러한 오류 코드의 하위 집합만 Windows Media Format SDK와 관련이 있습니다. 이 헤더는 wmsdk.h에 포함되어 있습니다.
wmdxva.h Windows Media 기반 콘텐츠를 재생하기 위해 Microsoft DirectX 비디오 가속을 사용하도록 설정하는 데 필요한 다른 헤더 및 정의가 포함되어 있습니다. 자세한 내용은 DirectX 비디오 가속 사용을 참조하세요.
wmnetsourcecreator.h 네트워크 원본 플러그 인을 만드는 데 필요한 정보를 포함합니다.
wmsbuffer.h 버퍼 개체에서 사용하는 인터페이스를 정의합니다. 파일 읽기를 위해 사용자 고유의 버퍼를 만들 때 이 헤더를 포함합니다.
wmsdk.h Windows Media Format SDK를 사용하는 애플리케이션에 대한 기본 헤더입니다. 이 헤더에는 정의가 포함되지 않지만 asferr.h, nserror.h, windows.h 및 wmsdkidl.h가 포함됩니다. 이 SDK를 사용하는 모든 애플리케이션에 대해 이 헤더를 포함합니다.
wmsdkidl.h Windows Media Format SDK의 대부분의 개체에 대한 인터페이스, 함수, 구조체, 열거형 및 상수를 정의합니다. 이 헤더는 wmsdk.h에 포함되어 있습니다.
wmsinternaladminnetsource.h 네트워크 원본 플러그 인의 인터페이스를 정의합니다.
wmsysprf.h 시스템 프로필의 상수를 정의합니다. 식별자를 통해 시스템 프로필을 로드하는 애플리케이션에 이 헤더를 포함합니다.

Windows Media Format SDK를 사용하려면 컴파일러를 올바르게 구성해야 합니다. 디버그 모드에서 빌드하는 구성은 릴리스 모드와 다릅니다. 다음 표에 따라 설정을 구성합니다. 이러한 모든 설정은 프로젝트 설정 대화 상자에서 구성됩니다. 대화 상자로 돌아가려면 프로젝트 메뉴에서 설정을 선택합니다.

설정 디버그 값 릴리스 값
(C/C++ 탭, 범주 = 코드 생성) 런타임 라이브러리 사용 다중 스레드 DLL 디버그 다중 스레드 DLL
(링크 탭, 범주 = 일반) 모든 기본 라이브러리 무시(검사 상자) 선택됨 선택됨
(링크 탭, 범주 = 일반) 개체/라이브러리 모듈 Msvcrtd.lib 및 Wmvcore.lib.Do Libc.lib 또는 변형을 포함하지 않습니다.
Msvcrt.lib 및 Wmvcore.lib.Do Libc.lib 또는 변형을 포함하지 않습니다.

Microsoft Visual Studio .NET을 사용하는 경우 다음 표와 같이 설정이 다른 위치로 변경되었습니다. 이러한 모든 설정은 속성 페이지 대화 상자에 구성됩니다. 대화 상자로 이동하려면 솔루션 탐색기 창에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 속성을 선택합니다.

설정 디버그 값 릴리스 값
(구성 속성/ C/C++ / 코드 생성) 런타임 라이브러리 다중 스레드 디버그 DLL(/MDd) 다중 스레드 DLL(/MD)
(구성 속성 / 링커 / 입력) 추가 종속성 Msvcrtd.lib 및 Wmvcore.lib.Do Libc.lib 또는 변형을 포함하지 않습니다.
Msvcrt.lib 및 Wmvcore.lib.Do Libc.lib 또는 변형을 포함하지 않습니다.
(구성 속성 / 링커 / 입력) 모든 기본 라이브러리 무시

Wmvcore.dll 또는 다른 DLL의 로드를 지연하려면 Microsoft Visual C++ 6.0의 링크 옵션 /DELAYLOAD 또는 Microsoft Visual C++ .NET에서 로드된 DLL 지연을 사용합니다.

또한 Windows Media Format SDK의 라이브러리 및 헤더에 대한 디렉터리를 포함해야 합니다. Visual C++ 6.0에 대한 디렉터리 설정을 찾으려면 도구 메뉴에서 옵션을 클릭한 다음 디렉터리 탭을 클릭합니다. Visual C++ .NET을 사용하는 경우 도구 메뉴에서 옵션을 클릭한 다음 옵션 목록에서 프로젝트/VC++ 디렉터리를 선택합니다. 다음 표와 같이 디렉터리를 추가합니다. Windows Media Format SDK의 설치 디렉터리를 변경한 경우 경로가 달라집니다.

디렉터리 유형 기본 경로
포함 파일 C:\WMSDK\WMFSDK11\include
라이브러리 파일 C:\WMSDK\WMFSDK11\lib

플랫폼 SDK를 사용하는 경우 기본 경로는 다음과 같이 표시됩니다.

디렉터리 유형 기본 경로
포함 파일 C:\Program Files\Microsoft SDsK\Windows\v6.0\Include
라이브러리 파일 C:\Program Files\Microsoft SDsK\Windows\v6.0\Lib

생성 함수를 호출하기 전에 Coinitialize 또는 CoinitializeEx 를 호출하여 COM 초기화해야 합니다. 무료 스레딩 모델 또는 아파트 스레딩 모델을 사용할 수 있지만 아파트 스레딩 모델은 애플리케이션에 스레딩 제한을 적용합니다. MICROSOFT COM(구성 요소 개체 모델)에 대한 자세한 내용은 Microsoft 웹 사이트의 COM 페이지를 참조하세요.

참고 DRM(디지털 권한 관리)으로 보호되는 파일을 재생하거나 만드는 애플리케이션에는 Microsoft와 별도로 가져와야 하는 개별화된 정적 라이브러리가 필요합니다. 자세한 내용은 Microsoft 웹 사이트의 Windows Media 라이선스 양식을 참조하세요. DRM 라이브러리를 사용하는 경우 Wmvcore.lib에 연결하면 안 됩니다.

시작