Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
{
//
//немного кода skipped
//
HRESULT hr = NOERROR;
if (!HIWORD(lpcmi->lpVerb))
{
idCmd = LOWORD(lpcmi->lpVerb);
// process it
switch (idCmd)
{
default:
hr = E_INVALIDARG;
break;
case 0: // operation 1
case 1: // operation 2
//
//много кода skipped
//
break;
} // switch on command
}
return hr;
}STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
{
//
//немного кода skipped
//
HRESULT hr = NOERROR;
if (!HIWORD(lpcmi->lpVerb))
{
idCmd = LOWORD(lpcmi->lpVerb);
// process it
switch (idCmd)
{
default:
hr = E_INVALIDARG;
break;
case 0: // operation 1
case 1: // operation 2
//
//много кода skipped
//
break;
} // switch on command
}
else
{
hr = E_INVALIDARG;
}
return hr;
}int TestFunction(void)
{
int result;
char *Buffer=NULL;
Buffer = (char *)ALLOC(MAX_BUFFER_LENGTH);
if (Buffer == NULL)
{
result = ERR_MEM;
goto err_exit;
}
result = DoSomeJob(Buffer);
if (result) goto err_exit;
result = DoAnotherJob(Buffer);
if (result) goto err_exit;
result = DoThirdJob(Buffer);
err_exit:
if (Buffer) FREE(Buffer);
return result;
}LPCMINVOKECOMMANDINFO lpcmi
Об одной проблеме запуска Архивации и Восстановления при использовании OpenSource кода с сайта CodeGuru