Я использую этот код внутри класса, чтобы веб-браузер контролировал посещение веб-сайта:
void myClass::visitWeb(const char *url)
{
WCHAR buffer[MAX_LEN];
ZeroMemory(buffer, sizeof(buffer));
MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, url, strlen(url), buffer, sizeof(buffer)-1);
VARIANT vURL;
vURL.vt = VT_BSTR;
vURL.bstrVal = SysAllocString(buffer);
// webbrowser navigate code...
VariantClear(&vURL);
}
Я вызываю visitWeb из другой void-функции, которая вызывается в handlemessage () для приложения.
Нужно ли здесь выполнить некоторое освобождение памяти? Я вижу, что vURL освобождается VariantClear, но мне следует освободить память для буфера?
Мне сказали, что в другом буле, который есть в том же приложении, я не должен ничего освобождать, потому что все очищается, когда бул возвращает true / false, но что происходит с этим пустым пространством?