/*
空のCLRプロジェクト
*/
#include <stdio.h> //printf とかで必要
#include <wmsdk.h> //HRESULT とかで必要
#pragma comment(lib, "wmvcore.lib") //IWMMetadataEditor とかで必要
#pragma comment ( lib, "ole32.lib" )//CoInitialize で必要
using namespace System;//Console::ReadLine()で必要
#ifndef SAFE_RELEASE
#define SAFE_RELEASE(x) \
if(x != NULL) \
{ \
x->Release(); \
x = NULL; \
}
#endif
int main(void)
{
HRESULT hr = S_OK;
IWMProfileManager* pProfileMgr = NULL;
IWMProfileManager2* pProfileMgr2 = NULL;
WMT_VERSION profileVersion;
// Initialize COM.
//hr = CoInitialize(NULL);
/*if(FAILED(hr))
{
printf("Could not initialize COM.");
return 0;
}*/
// Create a profile manager object.
// プロファイルマネージャオブジェクトを作成します。
hr = WMCreateProfileManager(&pProfileMgr);
if(FAILED(hr))
{
printf("Could not create a profile manager object.");
return 0;
}
// Get the IWMProfileManager2 interface.
// IWMProfileManager2インタフェースを取得します。
hr = pProfileMgr->QueryInterface(IID_IWMProfileManager2,
(void**) &pProfileMgr2);
if(FAILED(hr))
{
printf("Could not get the IWMProfileManager2 interface.");
SAFE_RELEASE(pProfileMgr);
return 0;
}
// Release the old interface.
// 古いインターフェースを解放します。
SAFE_RELEASE(pProfileMgr);
// Get the current system profile version.
// 現在のシステムプロファイルバージョンを取得
hr = pProfileMgr2->GetSystemProfileVersion(&profileVersion);
if(FAILED(hr))
{
printf("Could not retrieve profile version.");
printf("\nError code: 0x%X\n", hr);
SAFE_RELEASE(pProfileMgr2);
return 0;
}
// Display the current version.
// 現在のバージョンを表示します。
printf("Current version: ");
switch(profileVersion)
{
case WMT_VER_4_0:
printf("WMT_VER_4_0\n");
break;
case WMT_VER_7_0:
printf("WMT_VER_7_0\n");
break;
case WMT_VER_8_0:
printf("WMT_VER_8_0\n");
break;
case WMT_VER_9_0:
printf("WMT_VER_9_0\n");
break;
}
// Set the system profile version to 8.
// システムプロファイルをバージョン8に設定
profileVersion = WMT_VER_8_0;
hr = pProfileMgr2->SetSystemProfileVersion(profileVersion);
if(FAILED(hr))
{
printf("Could not change profile version.");
printf("\nError code: 0x%X\n", hr);
SAFE_RELEASE(pProfileMgr2);
return 0;
}
// Print verification.
printf("Successfully set version to ");
switch(profileVersion)
{
case WMT_VER_4_0:
printf("WMT_VER_4_0\n");
break;
case WMT_VER_7_0:
printf("WMT_VER_7_0\n");
break;
case WMT_VER_8_0:
printf("WMT_VER_8_0\n");
break;
case WMT_VER_9_0:
printf("WMT_VER_9_0\n");
break;
}
printf("-------------プログラム終了----------------");
Console::ReadLine();//入力待-ウインドウ維持
}
2013年6月26日水曜日
システムプロファイルバージョンの変更:
To Change System Profile Versions
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿