I'm trying to implement the string manipulation as shown below:
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?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; }
Secondly, I'm not sure what the keyword void** of the parameter of this function mean. Does this mean pointer to a pointer?