프로필 저장
[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 기록기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
IWMProfileManager::SaveProfile 메서드를 사용하여 프로필 개체의 내용을 XML 형식의 문자열에 저장할 수 있습니다. 프로필 문자열을 파일에 저장하는 메서드는 제공되지 않습니다. 원하는 파일 I/O 루틴을 사용할 수 있습니다.
참고
파일에 기록된 프로필 문자열을 변경하지 않아야 합니다. 프로필을 변경하려면 프로그래밍 방식으로 변경해야 합니다. .prx 파일의 값을 변경하면 예측할 수 없는 결과가 발생할 수 있습니다.
다음 예제는 표준 C 스타일 파일 I/O를 사용하여 파일에 프로필을 저장하는 함수입니다. 이 예제를 사용하는 애플리케이션을 컴파일하려면 프로젝트에 stdio.h를 포함해야 합니다.
HRESULT ProfileToFile(IWMProfileManager* pProfileMgr,
IWMProfile* pProfile)
{
HRESULT hr = S_OK;
FILE* pFile;
WCHAR* pwszProfileString = NULL;
DWORD cchProfileString = 0;
// Save the profile to a string.
// First, retrieve the size of the string required.
hr = pProfileMgr->SaveProfile(pProfile,
NULL,
&cchProfileString);
if(FAILED(hr))
{
printf("Could not get the profile string size.");
return hr;
}
// Allocate memory to hold the string.
pwszProfileString = new WCHAR[cchProfileString];
if(pwszProfileString == NULL)
{
printf("Could not allocate memory for the profile string.");
return E_OUTOFMEMORY;
}
// Retrieve the string.
hr = pProfileMgr->SaveProfile(pProfile,
pwszProfileString,
&cchProfileString);
if(FAILED(hr))
{
printf("Could not save the profile string.");
return hr;
}
// Create the output file.
pFile = fopen("MyProfile.prx", "w");
// Write the profile string to the file.
fprintf(pFile, "%S\n", pwszProfileString);
// Close the file.
fclose(pFile);
delete[] pwszProfileString;
return S_OK;
}
관련 항목