The short answer, is no. The long answer is that if you know something about the memory, you may be able to. For example, if it is a BSTR you can look 4 bytes before its "handled" address or use SysStringLen(...).
If you know that the memory came from a particular heap (or heap manager), you may be able to crack the heap structures used to maintain memory allocations. You also need to know where the memory came from in order to use functions like _msize(...), _msize_dbg(...), GlobalSize(...), etc.
-=- JamesIf you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
error in HWND CDataExchange::PrepareCtrl
if (pSite == NULL)
TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC);
one question "VERIFY(MyDialog->Create(CMyDialog::IDD, &m_tabctrl));"
your previous code was good this->Create(CThumbViewDlg::IDD, pParent);
and why you dont use MyDialog->Create();