windows-nt/Source/XPSP1/NT/admin/dsutils/displayspecifierupgrade/test/test.cpp
2020-09-26 16:20:57 +08:00

87 lines
1.4 KiB
C++

#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;
}