message box LPCWSTR manipulation and keyword question
I'm trying to implement the string manipulation as shown below:
Code:
HRESULT __stdcall
COemUni2::
QueryInterface(
const IID& iid,
void** ppv
)
{
OEMDBG(DBG_VERBOSE, L"COemUni2::QueryInterface() entry.");
//---------------------------------------------------------------------------
// adding debugging dialog boxes
LPCWSTR showtext;
// I want to show in the body of the dialog box
// "iid = *value of iid*\nppv = *value of ppv*"
int msgboxID = MessageBox(
NULL,
(LPCWSTR),
(LPCWSTR) L"Debug Dialog Box",
MB_OK);
//---------------------------------------------------------------------------
if (iid == IID_IUnknown)
{
*ppv = static_cast<IUnknown*>(this);
VERBOSE(DLLTEXT("COemUni2::QueryInterface IUnknown.\r\n"));
}
else if (iid == IID_IPrintOemUni2)
{
VERBOSE(DLLTEXT("COemUni2::QueryInterface IPrintOemUni2.\r\n"));
*ppv = static_cast<IPrintOemUni2*>(this);
}
else
{
WARNING(DLLTEXT("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n"));
*ppv = NULL;
return E_NOINTERFACE;
}
reinterpret_cast<IUnknown*>(*ppv)->AddRef();
return S_OK;
}
I have thought about strcpy() and strcat() functions, however, I'm not sure how well they would work. Does anyone have a more appropriate suggestion?
Secondly, I'm not sure what the keyword void** of the parameter of this function mean. Does this mean pointer to a pointer?