| 415 | } |
| 416 | |
| 417 | HRESULT DropHandler::CopyFileDescriptorData(IDataObject *pDataObject, |
| 418 | FILEGROUPDESCRIPTORW *pfgd,std::list<std::wstring> &PastedFileList) |
| 419 | { |
| 420 | FILETIME *pftCreationTime = NULL; |
| 421 | FILETIME *pftLastAccessTime = NULL; |
| 422 | FILETIME *pftLastWriteTime = NULL; |
| 423 | DWORD dwFileAttributes = FILE_ATTRIBUTE_NORMAL; |
| 424 | DWORD nBytesToWrite = 0; |
| 425 | |
| 426 | HRESULT hr = E_FAIL; |
| 427 | |
| 428 | for(unsigned int i = 0;i < pfgd->cItems;i++) |
| 429 | { |
| 430 | if(pfgd->fgd[i].dwFlags & FD_ATTRIBUTES) |
| 431 | { |
| 432 | dwFileAttributes = pfgd->fgd[i].dwFileAttributes; |
| 433 | } |
| 434 | |
| 435 | if(pfgd->fgd[i].dwFlags & FD_FILESIZE) |
| 436 | { |
| 437 | nBytesToWrite = pfgd->fgd[i].nFileSizeLow; |
| 438 | } |
| 439 | |
| 440 | if(pfgd->fgd[i].dwFlags & FD_LINKUI) |
| 441 | { |
| 442 | /* TODO: Complete. */ |
| 443 | } |
| 444 | |
| 445 | if(pfgd->fgd[i].dwFlags & FD_CREATETIME) |
| 446 | { |
| 447 | pftCreationTime = &pfgd->fgd[i].ftCreationTime; |
| 448 | } |
| 449 | |
| 450 | if(pfgd->fgd[i].dwFlags & FD_ACCESSTIME) |
| 451 | { |
| 452 | pftLastAccessTime = &pfgd->fgd[i].ftLastAccessTime; |
| 453 | } |
| 454 | |
| 455 | if(pfgd->fgd[i].dwFlags & FD_WRITESTIME) |
| 456 | { |
| 457 | pftLastWriteTime = &pfgd->fgd[i].ftLastWriteTime; |
| 458 | } |
| 459 | |
| 460 | /*if(pfgd->fgd[i].dwFlags & FD_UNICODE) |
| 461 | { |
| 462 | }*/ |
| 463 | |
| 464 | FORMATETC ftcfchg; |
| 465 | FORMATETC ftcfcis; |
| 466 | FORMATETC ftcfcstg; |
| 467 | STGMEDIUM stgFileContents = {0}; |
| 468 | BOOL bDataCopied = FALSE; |
| 469 | BOOL bDataRetrieved = FALSE; |
| 470 | LPBYTE pBuffer = NULL; |
| 471 | |
| 472 | SetFORMATETC(&ftcfchg,(CLIPFORMAT)RegisterClipboardFormat(CFSTR_FILECONTENTS), |
| 473 | NULL,DVASPECT_CONTENT,i,TYMED_HGLOBAL); |
| 474 | SetFORMATETC(&ftcfcis,(CLIPFORMAT)RegisterClipboardFormat(CFSTR_FILECONTENTS), |
nothing calls this directly
no test coverage detected