При драг-энд-дропе из одного окна(процесса) в другое(процесс) повторный вызов GlobalLock возращает NULL.
Ошибка:
ERROR_DISCARDED
157 The segment is already discarded and cannot be locked.
То есть даже если они(вызовы GlobalLock) друг за другом идут например так:
...
pDataObject->GetData(&fmt,&stg);
LPVOID pVoid = GlobalLock(stg.hGlobal);
-> здесь ОК if (pVoid)
m_itemDataIncoming = *(TITEMDATA *) pVoid;
GlobalUnlock(stg.hGlobal);
pVoid = GlobalLock(stg.hGlobal);
-> здесь ERROR if (pVoid)
m_itemDataIncoming = *(TITEMDATA *) pVoid;
GlobalUnlock(stg.hGlobal);
внутри одного окна все работает, но если в другое окно(процесс) залез мышкой, то после этого и в исходном окне тоже NULL
Может кто-то сталкивался с такой проблемой? Или я чего-то не проинициализировал?
спасибо.