mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.4 KiB
86 lines
1.4 KiB
#include "headers.hxx"
|
|
#include "..\dspecup.hpp"
|
|
|
|
const wchar_t* RUNTIME_NAME = L"dspecup";
|
|
|
|
Popup popup(L"dspecup.lib", false);
|
|
|
|
DWORD DEFAULT_LOGGING_OPTIONS =
|
|
Log::OUTPUT_TO_FILE
|
|
| Log::OUTPUT_FUNCCALLS
|
|
| Log::OUTPUT_LOGS
|
|
| Log::OUTPUT_ERRORS
|
|
| Log::OUTPUT_HEADER;
|
|
|
|
HINSTANCE hResourceModuleHandle = 0;
|
|
|
|
|
|
long total;
|
|
|
|
void stepIt(long arg, void *)
|
|
{
|
|
printf("\r" "\r%ld",total+=arg);
|
|
}
|
|
|
|
void totalSteps(long arg, void *)
|
|
{
|
|
total=0;
|
|
printf("\n%ld\n",arg);
|
|
}
|
|
|
|
void PrintError(HRESULT hr,
|
|
const String &message)
|
|
{
|
|
LOG_FUNCTION(PrintError);
|
|
|
|
if(hr==E_FAIL)
|
|
{
|
|
wprintf(L"%s\n",message.c_str());
|
|
}
|
|
else
|
|
{
|
|
if(message.empty())
|
|
{
|
|
wprintf(L"%s\n",GetErrorMessage(hr).c_str());
|
|
}
|
|
else
|
|
{
|
|
wprintf(L"%s\n",message.c_str());
|
|
wprintf(L"%s\n",GetErrorMessage(hr).c_str());
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
int _cdecl main()
|
|
{
|
|
hResourceModuleHandle=::GetModuleHandle(NULL);
|
|
|
|
HRESULT hr;
|
|
|
|
hr = ::CoInitialize(0);
|
|
ASSERT(SUCCEEDED(hr));
|
|
|
|
PWSTR errorMsg=NULL;
|
|
do
|
|
{
|
|
hr=UpgradeDisplaySpecifiers(false,&errorMsg,NULL,stepIt,totalSteps);
|
|
BREAK_ON_FAILED_HRESULT(hr);
|
|
} while(0);
|
|
|
|
CoUninitialize();
|
|
|
|
if(FAILED(hr))
|
|
{
|
|
String error;
|
|
if(errorMsg!=NULL)
|
|
{
|
|
error=errorMsg;
|
|
CoTaskMemFree(errorMsg);
|
|
}
|
|
PrintError(hr,error);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|