MCPcopy Create free account
hub / github.com/WinMerge/winmerge / ExtractFileItemFromIDataObject_FileContents

Function ExtractFileItemFromIDataObject_FileContents

Src/DropHandler.cpp:233–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231 }
232
233 HRESULT ExtractFileItemFromIDataObject_FileContents(IDataObject *pDataObj, int lindex, const String& filepath)
234 {
235 FORMATETC fmtetc_filecontents = { static_cast<WORD>(RegisterClipboardFormat(CFSTR_FILECONTENTS)), nullptr, DVASPECT_CONTENT, lindex, TYMED_HGLOBAL | TYMED_ISTREAM };
236 STGMEDIUM medium = { 0 };
237 HRESULT hr;
238 if ((hr = pDataObj->GetData(&fmtetc_filecontents, &medium)) == S_OK)
239 {
240 hr = E_FAIL;
241 if (medium.tymed == TYMED_HGLOBAL)
242 hr = HGLOBAL_WriteToFile(medium.hGlobal, filepath);
243 else if (medium.tymed == TYMED_ISTREAM)
244 hr = IStream_WriteToFile(medium.pstm, filepath);
245 ReleaseStgMedium(&medium);
246 }
247 return hr;
248 }
249
250 HRESULT GetFileItemsFromIDataObject_FileDescriptor(IDataObject *pDataObj, std::vector<String>& root_files)
251 {

Calls 2

HGLOBAL_WriteToFileFunction · 0.85
IStream_WriteToFileFunction · 0.85

Tested by

no test coverage detected