Changeset 4033 for trunk/include/win/wine/undocshell.h
- Timestamp:
- Aug 18, 2000, 4:04:23 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/wine/undocshell.h
r1556 r4033 1 /* $Id: undocshell.h,v 1. 3 1999-11-02 20:36:05 sandervlExp $ */1 /* $Id: undocshell.h,v 1.4 2000-08-18 02:04:23 phaller Exp $ */ 2 2 #ifndef __WINE_UNDOCSHELL_H 3 3 #define __WINE_UNDOCSHELL_H … … 5 5 #include "windef.h" 6 6 #include "shell.h" 7 #include "commctrl.h" 7 8 #include "wine/obj_shellfolder.h" /* strret */ 9 #include "wine/obj_shellview.h" 10 #include "wine/obj_dragdrop.h" 8 11 9 12 #ifdef __cplusplus 10 13 extern "C" { 11 14 #endif /* defined(__cplusplus) */ 15 12 16 13 17 /**************************************************************************** … … 16 20 LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl); 17 21 LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl); 18 LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST iil1,LPCITEMIDLIST iil2); 22 23 LPITEMIDLIST WINAPI ILCombine( 24 LPCITEMIDLIST iil1, 25 LPCITEMIDLIST iil2); 19 26 20 27 DWORD WINAPI ILGetSize(LPITEMIDLIST pidl); … … 23 30 LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl); 24 31 BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl); 25 LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2); 26 27 BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); 28 29 BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path); 32 33 LPITEMIDLIST WINAPI ILFindChild( 34 LPCITEMIDLIST pidl1, 35 LPCITEMIDLIST pidl2); 36 37 LPITEMIDLIST WINAPI ILAppendID( 38 LPITEMIDLIST pidl, 39 LPCSHITEMID lpItemID, 40 BOOL bAddToEnd); 41 42 BOOL WINAPI ILIsEqual( 43 LPCITEMIDLIST pidl1, 44 LPCITEMIDLIST pidl2); 45 46 BOOL WINAPI ILIsParent( 47 LPCITEMIDLIST pidlParent, 48 LPCITEMIDLIST pidlChild, 49 BOOL bImmediate); 50 51 BOOL WINAPI ILGetDisplayName( 52 LPCITEMIDLIST pidl, 53 LPSTR path); 30 54 31 55 DWORD WINAPI ILFree(LPITEMIDLIST pidl); 32 56 33 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPSTR lpszPath); 34 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPWSTR lpszPath); 35 LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPVOID lpszPath); 36 37 HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST * ppidl, DWORD *attributes); 38 HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST * ppidl, DWORD *attributes); 39 HRESULT WINAPI SHILCreateFromPathAW (LPCVOID path, LPITEMIDLIST * ppidl, DWORD *attributes); 57 HRESULT WINAPI ILSaveToStream( 58 LPSTREAM pstrm, 59 LPCITEMIDLIST pidl); 60 61 HRESULT WINAPI ILLoadFromStream( 62 LPSTREAM pstrm, 63 LPITEMIDLIST *ppidl); 64 65 LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl); 66 void WINAPI ILGlobalFree(LPCITEMIDLIST pidl); 67 68 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath); 69 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath); 70 LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath); 71 72 HRESULT WINAPI SHILCreateFromPathA ( 73 LPCSTR path, 74 LPITEMIDLIST * ppidl, 75 DWORD *attributes); 76 77 HRESULT WINAPI SHILCreateFromPathW ( 78 LPCWSTR path, 79 LPITEMIDLIST * ppidl, 80 DWORD *attributes); 81 82 HRESULT WINAPI SHILCreateFromPathAW ( 83 LPCVOID path, 84 LPITEMIDLIST * ppidl, 85 DWORD *attributes); 40 86 41 87 LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path); … … 43 89 LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path); 44 90 91 HRESULT WINAPI SHBindToParent( 92 LPCITEMIDLIST pidl, 93 REFIID riid, 94 LPVOID *ppv, 95 LPCITEMIDLIST *ppidlLast); 96 45 97 /* 46 98 string functions 47 99 */ 48 HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast); 49 50 HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl); 51 HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl); 52 HRESULT WINAPI StrRetToStrNAW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl); 53 54 HRESULT WINAPI StrRetToBufA (LPSTRRET src, LPITEMIDLIST pidl, LPSTR dest, DWORD len); 55 HRESULT WINAPI StrRetToBufW (LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest, DWORD len); 100 HRESULT WINAPI StrRetToStrNA ( 101 LPVOID dest, 102 DWORD len, 103 LPSTRRET src, 104 LPITEMIDLIST pidl); 105 106 HRESULT WINAPI StrRetToStrNW ( 107 LPVOID dest, 108 DWORD len, 109 LPSTRRET src, 110 LPITEMIDLIST pidl); 111 112 HRESULT WINAPI StrRetToStrNAW ( 113 LPVOID dest, 114 DWORD len, 115 LPSTRRET src, 116 LPITEMIDLIST pidl); 117 118 HRESULT WINAPI StrRetToBufA ( 119 LPSTRRET src, 120 LPITEMIDLIST pidl, 121 LPSTR dest, 122 DWORD len); 123 124 HRESULT WINAPI StrRetToBufW ( 125 LPSTRRET src, 126 LPITEMIDLIST pidl, 127 LPWSTR dest, 128 DWORD len); 129 130 /**************************************************************************** 131 * SHChangeNotifyRegister API 132 */ 133 #define SHCNF_ACCEPT_INTERRUPTS 0x0001 134 #define SHCNF_ACCEPT_NON_INTERRUPTS 0x0002 135 #define SHCNF_NO_PROXY 0x8001 136 137 typedef struct 138 { 139 LPCITEMIDLIST pidlPath; 140 BOOL bWatchSubtree; 141 } NOTIFYREGISTER, *LPNOTIFYREGISTER; 142 143 typedef const LPNOTIFYREGISTER LPCNOTIFYREGISTER; 144 145 typedef struct 146 { 147 USHORT cb; 148 DWORD dwItem1; 149 DWORD dwItem2; 150 } DWORDITEMID; 151 152 HANDLE WINAPI SHChangeNotifyRegister( 153 HWND hwnd, 154 LONG dwFlags, 155 LONG wEventMask, 156 DWORD uMsg, 157 int cItems, 158 LPCNOTIFYREGISTER lpItems); 159 160 BOOL WINAPI SHChangeNotifyDeregister(HANDLE hNotify); 161 162 HANDLE WINAPI SHChangeNotification_Lock( 163 HANDLE hMemoryMap, 164 DWORD dwProcessId, 165 LPCITEMIDLIST **lppidls, 166 LPLONG lpwEventId); 167 168 BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock); 169 170 /**************************************************************************** 171 * Shell Common Dialogs 172 */ 173 174 BOOL WINAPI PickIconDlg( 175 HWND hwndOwner, 176 LPSTR lpstrFile, 177 DWORD nMaxFile, 178 LPDWORD lpdwIconIndex); 179 180 /* RunFileDlg flags */ 181 #define RFF_NOBROWSE 0x01 182 #define RFF_NODEFAULT 0x02 183 #define RFF_CALCDIRECTORY 0x04 184 #define RFF_NOLABEL 0x08 185 #define RFF_NOSEPARATEMEM 0x20 /* NT only */ 186 187 /* RunFileFlg notification structure */ 188 typedef struct 189 { 190 NMHDR hdr; 191 LPCSTR lpFile; 192 LPCSTR lpDirectory; 193 int nShow; 194 } NM_RUNFILEDLG, * LPNM_RUNFILEDLG; 195 196 /* RunFileDlg notification return values */ 197 #define RF_OK 0x00 198 #define RF_CANCEL 0x01 199 #define RF_RETRY 0x02 200 201 void WINAPI RunFileDlg( 202 HWND hwndOwner, 203 HICON hIcon, 204 LPCSTR lpstrDirectory, 205 LPCSTR lpstrTitle, 206 LPCSTR lpstrDescription, 207 UINT uFlags); 208 209 void WINAPI ExitWindowsDialog(HWND hwndOwner); 210 211 int WINAPI RestartDialog( 212 HWND hwndOwner, 213 LPCSTR lpstrReason, 214 UINT uFlags); 215 216 BOOL WINAPI GetFileNameFromBrowse( 217 HWND hwndOwner, 218 LPSTR lpstrFile, 219 DWORD nMaxFile, 220 LPCSTR lpstrInitialDir, 221 LPCSTR lpstrDefExt, 222 LPCSTR lpstrFilter, 223 LPCSTR lpstrTitle); 224 225 BOOL WINAPI SHFindFiles( 226 LPCITEMIDLIST pidlRoot, 227 LPCITEMIDLIST pidlSavedSearch); 228 229 BOOL WINAPI SHFindComputer( 230 LPCITEMIDLIST pidlRoot, 231 LPCITEMIDLIST pidlSavedSearch); 232 233 /* SHObjectProperties flags */ 234 #define OPF_PRINTERNAME 0x01 235 #define OPF_PATHNAME 0x02 236 237 BOOL WINAPI SHObjectProperties( 238 HWND hwndOwner, 239 UINT uFlags, 240 LPCSTR lpstrName, 241 LPCSTR lpstrParameters); 242 243 void WINAPI SHHandleDiskFull(HWND hwndOwner, 244 UINT uDrive); 245 246 int WINAPI SHOutOfMemoryMessageBox( 247 HWND hwndOwner, 248 LPCSTR lpCaption, 249 UINT uType); 250 251 DWORD WINAPI SHNetConnectionDialog( 252 HWND hwndOwner, 253 LPCSTR lpstrRemoteName, 254 DWORD dwType); 255 256 int WINAPIV ShellMessageBoxA( 257 HINSTANCE hInstance, 258 HWND hWnd, 259 LPCSTR lpText, 260 LPCSTR lpCaption, 261 UINT uType, 262 ...); 263 264 int WINAPIV ShellMessageBoxW( 265 HINSTANCE hInstance, 266 HWND hWnd, 267 LPCWSTR lpText, 268 LPCWSTR lpCaption, 269 UINT uType, 270 ...); 271 272 #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox) 273 274 /**************************************************************************** 275 * Memory Routines 276 */ 277 278 LPVOID WINAPI SHAlloc(ULONG cb); 279 void WINAPI SHFree(LPVOID pv); 280 281 HANDLE WINAPI SHAllocShared( 282 LPVOID pv, 283 ULONG cb, 284 DWORD pid); 285 286 BOOL WINAPI SHFreeShared( 287 HANDLE hMem, 288 DWORD pid); 289 290 LPVOID WINAPI SHLockShared( 291 HANDLE hMem, 292 DWORD pid); 293 294 BOOL WINAPI SHUnlockShared(LPVOID pv); 295 296 /**************************************************************************** 297 * Cabinet Window Messages 298 */ 299 300 #define CWM_SETPATH (WM_USER + 2) 301 #define CWM_WANTIDLE (WM_USER + 3) 302 #define CWM_GETSETCURRENTINFO (WM_USER + 4) 303 #define CWM_SELECTITEM (WM_USER + 5) 304 #define CWM_SELECTITEMSTR (WM_USER + 6) 305 #define CWM_GETISHELLBROWSER (WM_USER + 7) 306 #define CWM_TESTPATH (WM_USER + 9) 307 #define CWM_STATECHANGE (WM_USER + 10) 308 #define CWM_GETPATH (WM_USER + 12) 309 310 /* CWM_TESTPATH types */ 311 #define CWTP_ISEQUAL 0 312 #define CWTP_ISCHILD 1 313 314 /* CWM_TESTPATH structure */ 315 typedef struct 316 { 317 DWORD dwType; 318 ITEMIDLIST idl; 319 } CWTESTPATHSTRUCT,* LPCWTESTPATHSTRUCT; 320 321 /**************************************************************************** 322 * System Imagelist Routines 323 */ 324 325 int WINAPI Shell_GetCachedImageIndex( 326 LPCSTR lpszFileName, 327 UINT nIconIndex, 328 BOOL bSimulateDoc); 329 330 BOOL WINAPI Shell_GetImageLists( 331 HIMAGELIST *lphimlLarge, 332 HIMAGELIST *lphimlSmall); 333 334 HICON WINAPI SHGetFileIcon( 335 DWORD dwReserved, 336 LPCSTR lpszPath, 337 DWORD dwFileAttributes, 338 UINT uFlags); 339 340 int WINAPI SHMapPIDLToSystemImageListIndex( 341 LPSHELLFOLDER psf, 342 LPCITEMIDLIST pidl, 343 UINT * pOpenIndex); 344 345 BOOL WINAPI FileIconInit(BOOL bFullInit); 346 347 /**************************************************************************** 348 * File Menu Routines 349 */ 350 /* FileMenu_Create nSelHeight constants */ 351 #define FM_DEFAULT_SELHEIGHT -1 352 #define FM_FULL_SELHEIGHT 0 353 354 /* FileMenu_Create flags */ 355 #define FMF_SMALL_ICONS 0x00 356 #define FMF_LARGE_ICONS 0x08 357 #define FMF_NO_COLUMN_BREAK 0x10 358 359 HMENU WINAPI FileMenu_Create( 360 COLORREF crBorderColor, 361 int nBorderWidth, 362 HBITMAP hBorderBmp, 363 int nSelHeight, 364 UINT uFlags); 365 366 void WINAPI FileMenu_Destroy(HMENU hMenu); 367 368 /* FileMenu_AppendItem constants */ 369 #define FM_SEPARATOR (LPCSTR)1 370 #define FM_BLANK_ICON -1 371 #define FM_DEFAULT_HEIGHT 0 372 373 BOOL WINAPI FileMenu_AppendItem( 374 HMENU hMenu, 375 LPCSTR lpszText, 376 UINT uID, 377 int iIcon, 378 HMENU hMenuPopup, 379 int nItemHeight); 380 381 /* FileMenu_InsertUsingPidl flags */ 382 #define FMF_NO_EMPTY_ITEM 0x01 383 #define FMF_NO_PROGRAM_GROUPS 0x04 384 385 /* FileMenu_InsertUsingPidl callback function */ 386 //typedef void CALLBACK (*LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile); 387 typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile); 388 389 int WINAPI FileMenu_InsertUsingPidl( 390 HMENU hMenu, 391 UINT uID, 392 LPCITEMIDLIST pidl, 393 UINT uFlags, 394 UINT uEnumFlags, 395 LPFNFMCALLBACK lpfnCallback); 396 397 int WINAPI FileMenu_ReplaceUsingPidl( 398 HMENU hMenu, 399 UINT uID, 400 LPCITEMIDLIST pidl, 401 UINT uEnumFlags, 402 LPFNFMCALLBACK lpfnCallback); 403 404 void WINAPI FileMenu_Invalidate(HMENU hMenu); 405 406 HMENU WINAPI FileMenu_FindSubMenuByPidl( 407 HMENU hMenu, 408 LPCITEMIDLIST pidl); 409 410 BOOL WINAPI FileMenu_TrackPopupMenuEx( 411 HMENU hMenu, 412 UINT uFlags, 413 int x, 414 int y, 415 HWND hWnd, 416 LPTPMPARAMS lptpm); 417 418 BOOL WINAPI FileMenu_GetLastSelectedItemPidls( 419 UINT uReserved, 420 LPITEMIDLIST *ppidlFolder, 421 LPITEMIDLIST *ppidlItem); 422 423 LRESULT WINAPI FileMenu_MeasureItem( 424 HWND hWnd, 425 LPMEASUREITEMSTRUCT lpmis); 426 427 LRESULT WINAPI FileMenu_DrawItem( 428 HWND hWnd, 429 LPDRAWITEMSTRUCT lpdis); 430 431 BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu); 432 433 void WINAPI FileMenu_AbortInitMenu(void); 434 435 LRESULT WINAPI FileMenu_HandleMenuChar( 436 HMENU hMenu, 437 WPARAM wParam); 438 439 BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu); 440 441 BOOL WINAPI FileMenu_DeleteItemByCmd( 442 HMENU hMenu, 443 UINT uID); 444 445 BOOL WINAPI FileMenu_DeleteItemByIndex( 446 HMENU hMenu, 447 UINT uPos); 448 449 BOOL WINAPI FileMenu_DeleteMenuItemByFirstID( 450 HMENU hMenu, 451 UINT uID); 452 453 BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu); 454 455 BOOL WINAPI FileMenu_EnableItemByCmd( 456 HMENU hMenu, 457 UINT uID, 458 BOOL bEnable); 459 460 DWORD WINAPI FileMenu_GetItemExtent( 461 HMENU hMenu, 462 UINT uPos); 463 464 int WINAPI FileMenu_AppendFilesForPidl( 465 HMENU hMenu, 466 LPCITEMIDLIST pidl, 467 BOOL bAddSeparator); 468 469 int WINAPI FileMenu_AddFilesForPidl( 470 HMENU hMenu, 471 UINT uReserved, 472 UINT uID, 473 LPCITEMIDLIST pidl, 474 UINT uFlags, 475 UINT uEnumFlags, 476 LPFNFMCALLBACK lpfnCallback); 477 478 /**************************************************************************** 479 * Drag And Drop Routines 480 */ 481 HRESULT WINAPI SHLoadOLE(DWORD dwFlags); 482 483 HRESULT WINAPI SHRegisterDragDrop( 484 HWND hWnd, 485 LPDROPTARGET lpDropTarget); 486 487 HRESULT WINAPI SHRevokeDragDrop(HWND hWnd); 488 489 HRESULT WINAPI SHDoDragDrop( 490 HWND hWnd, 491 LPDATAOBJECT lpDataObject, 492 LPDROPSOURCE lpDropSource, 493 DWORD dwOKEffect, 494 LPDWORD pdwEffect); 495 496 BOOL WINAPI DAD_DragEnter(HWND hWnd); 497 498 BOOL WINAPI DAD_DragEnterEx( 499 HWND hWnd, 500 POINT pt); 501 502 BOOL WINAPI DAD_DragMove(POINT pt); 503 504 /* DAD_AutoScroll return values */ 505 #define DAD_SCROLL_UP 1 506 #define DAD_SCROLL_DOWN 2 507 #define DAD_SCROLL_LEFT 4 508 #define DAD_SCROLL_RIGHT 8 509 510 /* DAD_AutoScroll sample structure */ 511 typedef struct 512 { 513 DWORD dwCount; 514 DWORD dwLastTime; 515 BOOL bWrapped; 516 POINT aptPositions[3]; 517 DWORD adwTimes[3]; 518 } SCROLLSAMPLES, *LPSCROLLSAMPLES; 519 520 DWORD WINAPI DAD_AutoScroll(HWND hWnd, 521 LPSCROLLSAMPLES lpSamples, 522 LPPOINT lppt); 523 524 BOOL WINAPI DAD_DragLeave(); 525 526 BOOL WINAPI DAD_SetDragImageFromListView( 527 HWND hWnd, 528 POINT pt); 529 530 BOOL WINAPI DAD_SetDragImage( 531 HIMAGELIST himlTrack, 532 LPPOINT lppt); 533 534 BOOL WINAPI DAD_ShowDragImage(BOOL bShow); 535 536 HRESULT WINAPI SHCreateStdEnumFmtEtc( 537 DWORD cFormats, 538 const FORMATETC *lpFormats, 539 LPENUMFORMATETC *ppenumFormatetc); 540 541 HRESULT WINAPI CIDLData_CreateFromIDArray( 542 LPCITEMIDLIST pidlFolder, 543 DWORD cpidlFiles, 544 LPCITEMIDLIST *lppidlFiles, 545 LPDATAOBJECT *ppdataObject); 546 547 /**************************************************************************** 548 * Path Manipulation Routines 549 */ 550 551 LPSTR WINAPI PathAppend( 552 LPSTR lpszPath1, 553 LPCSTR lpszPath2); 554 555 LPSTR WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile); 556 LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile); 557 #define PathCombine WINELIB_NAME_AW(PathCombine) 558 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile); 559 560 LPSTR WINAPI PathAddBackslashA(LPSTR path); 561 LPWSTR WINAPI PathAddBackslashW(LPWSTR path); 562 #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash) 563 LPVOID WINAPI PathAddBackslashAW(LPVOID path); 564 565 LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath); 566 LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath); 567 #define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash) 568 569 LPSTR WINAPI PathBuildRoot( 570 LPSTR lpszPath, 571 int drive); 572 573 LPSTR WINAPI PathFindExtensionA(LPCSTR path); 574 LPWSTR WINAPI PathFindExtensionW(LPCWSTR path); 575 #define PathFindExtension WINELIB_NAME_AW(PathFindExtension) 576 LPVOID WINAPI PathFindExtensionAW(LPCVOID path); 577 578 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath); 579 580 LPSTR WINAPI PathGetArgs(LPCSTR lpszPath); 581 582 BOOL WINAPI PathRemoveFileSpec(LPSTR lpszPath); 583 584 LPSTR WINAPI PathGetShortPath(LPSTR lpszPath); 585 586 LPSTR WINAPI PathQuoteSpacesA(LPSTR path); 587 LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path); 588 #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces) 589 LPVOID WINAPI PathQuoteSpacesAW(LPVOID path); 590 591 void WINAPI PathUnquoteSpaces(LPSTR lpszPath); 592 593 BOOL WINAPI PathIsUNCA(LPCSTR lpszPath); 594 BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath); 595 #define PathIsUNC WINELIB_NAME_AW(PathIsUNC) 596 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath); 597 598 BOOL WINAPI PathIsRelativeA(LPCSTR lpszPath); 599 BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath); 600 #define PathIsRelative WINELIB_NAME_AW(PathIsRelative) 601 BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath); 602 603 BOOL WINAPI PathIsRootA(LPCSTR x); 604 BOOL WINAPI PathIsRootW(LPCWSTR x); 605 #define PathIsRoot WINELIB_NAME_AW(PathIsRoot) 606 BOOL WINAPI PathIsRootAW(LPCVOID x); 607 608 BOOL WINAPI PathIsExe(LPCSTR lpszPath); 609 610 BOOL WINAPI PathIsDirectory(LPCSTR lpszPath); 611 612 BOOL WINAPI PathFileExists(LPCSTR lpszPath); 613 614 BOOL WINAPI PathMatchSpecA( 615 LPCSTR lpszPath, 616 LPCSTR lpszSpec); 617 BOOL WINAPI PathMatchSpecW( 618 LPCWSTR lpszPath, 619 LPCWSTR lpszSpec); 620 #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec) 621 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec); 622 623 BOOL WINAPI PathMakeUniqueName( 624 LPSTR lpszBuffer, 625 DWORD dwBuffSize, 626 LPCSTR lpszShortName, 627 LPCSTR lpszLongName, 628 LPCSTR lpszPathName); 629 630 BOOL WINAPI PathYetAnotherMakeUniqueName( 631 LPSTR lpszBuffer, 632 LPCSTR lpszPathName, 633 LPCSTR lpszShortName, 634 LPCSTR lpszLongName); 635 636 BOOL WINAPI PathFindOnPath( 637 LPSTR lpszFile, 638 LPCSTR *alpszPaths); 639 640 /* PathCleanupSpec return values */ 641 #define PCS_REPLACEDCHARS 0x00000001 642 #define PCS_REMOVEDCHARS 0x00000002 643 #define PCS_SHORTENED 0x00000004 644 #define PCS_PATHTOOLONG 0x80000008 645 646 DWORD WINAPI PathCleanupSpec( 647 LPCSTR lpszPath, 648 LPSTR lpszFile); 649 650 BOOL WINAPI PathQualifyA(LPCSTR path); 651 BOOL WINAPI PathQualifyW(LPCWSTR path); 652 #define PathQualify WINELIB_NAME_AW(PathQualify) 653 BOOL WINAPI PathQualifyAW(LPCVOID path); 654 655 656 /* PathResolve flags */ 657 #define PRF_CHECKEXISTANCE 0x01 658 #define PRF_EXECUTABLE 0x02 659 #define PRF_QUALIFYONPATH 0x04 660 #define PRF_WINDOWS31 0x08 661 662 BOOL WINAPI PathResolve( 663 LPSTR lpszPath, 664 LPCSTR *alpszPaths, 665 DWORD dwFlags); 666 667 BOOL WINAPI PathSetDlgItemPath( 668 HWND hDlg, 669 int nIDDlgItem, 670 LPCSTR lpszPath); 671 672 /* PathProcessCommand flags */ 673 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */ 674 #define PPCF_INCLUDEARGS 0x02 675 #define PPCF_NODIRECTORIES 0x10 676 #define PPCF_DONTRESOLVE 0x20 677 #define PPCF_PATHISRELATIVE 0x40 678 679 int WINAPI PathProcessCommand( 680 LPCWSTR lpszPath, 681 LPWSTR lpszBuff, 682 DWORD dwBuffSize, 683 DWORD dwFlags); 684 685 void WINAPI PathStripPath(LPWSTR lpszPath); 686 687 BOOL WINAPI PathStripToRoot(LPWSTR lpszPath); 688 689 void WINAPI PathRemoveArgs(LPWSTR lpszPath); 690 691 void WINAPI PathRemoveExtension(LPWSTR lpszPath); 692 693 int WINAPI PathParseIconLocation(LPWSTR lpszPath); 694 695 BOOL WINAPI PathIsSameRoot( 696 LPCWSTR lpszPath1, 697 LPCWSTR lpszPath2); 698 699 BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs); 700 BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs); 701 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath) 702 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs); 703 704 LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf ); 705 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf ); 706 #define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize) 707 708 /**************************************************************************** 709 * Shell Namespace Routines 710 */ 711 712 /* SHCreateShellFolderViewEx callback function */ 713 typedef HRESULT (CALLBACK* LPFNSFVCALLBACK)( 714 DWORD dwUser, 715 LPSHELLFOLDER pshf, 716 HWND hWnd, 717 UINT uMsg, 718 WPARAM wParam, 719 LPARAM lParam); 720 721 /* SHCreateShellFolderViewEx structure */ 722 typedef struct 723 { 724 DWORD dwSize; 725 LPSHELLFOLDER pshf; 726 DWORD dwUser; 727 LPCITEMIDLIST pidlFolder; 728 DWORD dwEventId; 729 LPFNSFVCALLBACK lpfnCallback; 730 UINT uViewMode; 731 } SHELLFOLDERVIEWINFO, * LPSHELLFOLDERVIEWINFO; 732 typedef const SHELLFOLDERVIEWINFO * LPCSHELLFOLDERVIEWINFO; 733 734 HRESULT WINAPI SHCreateShellFolderViewEx( 735 LPCSHELLFOLDERVIEWINFO pshfvi, 736 LPSHELLVIEW *ppshv); 737 738 /* SHCreateShellFolderViewEx callback messages */ 739 #define SFVCB_ADDTOMENU 0x0001 740 #define SFVCB_INVOKECOMMAND 0x0002 741 #define SFVCB_GETMENUHELP 0x0003 742 #define SFVCB_GETTOOLBARTIP 0x0004 743 #define SFVCB_GETTOOLBARINFO 0x0005 744 #define SFVCB_ADDTOOLBARITEMS 0x0006 745 #define SFVCB_INITMENUPOPUP 0x0007 746 #define SFVCB_SELECTIONCHANGED 0x0008 747 #define SFVCB_DRAWMENUITEM 0x0009 748 #define SFVCB_MEASUREMENUITEM 0x000A 749 #define SFVCB_EXITMENULOOP 0x000B 750 #define SFVCB_VIEWRELEASE 0x000C 751 #define SFVCB_GETNAMELENGTH 0x000D 752 #define SFVCB_CHANGENOTIFY 0x000E 753 #define SFVCB_WINDOWCREATED 0x000F 754 #define SFVCB_WINDOWCLOSING 0x0010 755 #define SFVCB_LISTREFRESHED 0x0011 756 #define SFVCB_WINDOWFOCUSED 0x0012 757 #define SFVCB_REGISTERCOPYHOOK 0x0014 758 #define SFVCB_COPYHOOKCALLBACK 0x0015 759 #define SFVCB_GETDETAILSOF 0x0017 760 #define SFVCB_COLUMNCLICK 0x0018 761 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019 762 #define SFVCB_GETESTIMATEDCOUNT 0x001A 763 #define SFVCB_ADJUSTVIEWMODE 0x001B 764 #define SFVCB_REMOVEFROMMENU 0x001C 765 #define SFVCB_ADDINGOBJECT 0x001D 766 #define SFVCB_REMOVINGOBJECT 0x001E 767 #define SFVCB_UPDATESTATUSBAR 0x001F 768 #define SFVCB_ISSLOWREFRESH 0x0020 769 #define SFVCB_GETCOMMANDDIR 0x0021 770 #define SFVCB_GETCOLUMNSTREAM 0x0022 771 #define SFVCB_CANSELECTALL 0x0023 772 #define SFVCB_DRAGSUCCEEDED 0x0024 773 #define SFVCB_ISSTRICTREFRESH 0x0025 774 #define SFVCB_ISCHILDOBJECT 0x0026 775 776 /* Generic structure used by several messages */ 777 typedef struct 778 { 779 DWORD dwReserved; 780 DWORD dwReserved2; 781 LPCITEMIDLIST pidl; 782 LPDWORD lpdwUser; 783 } SFVCBINFO, * LPSFVCBINFO; 784 typedef const SFVCBINFO * LPCSFVCBINFO; 785 786 /* SFVCB_ADDTOMENU structure */ 787 typedef struct 788 { 789 HMENU hMenu; 790 UINT indexMenu; 791 UINT idCmdFirst; 792 UINT idCmdLast; 793 } SFVMENUINFO, * LPSFVMENUINFO; 794 795 /* SFVCB_GETTOOLBARINFO structure */ 796 typedef struct 797 { 798 UINT nButtons; 799 UINT uFlags; 800 } SFVTOOLBARINFO, * LPSFVTOOLBARINFO; 801 802 /* SFVTOOLBARINFO flags */ 803 typedef enum 804 { 805 SFVTI_ADDTOEND = 0, 806 SFVTI_ADDTOFRONT = 1, 807 SFVTI_OVERWRITE = 2 808 } SFVTIF; 809 810 /* SFVCB_SELECTIONCHANGED structure */ 811 typedef struct 812 { 813 UINT uOldState; 814 UINT uNewState; 815 LPCITEMIDLIST pidl; 816 LPDWORD lpdwUser; 817 } SFVSELECTSTATE, * LPSFVSELECTSTATE; 818 typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE; 819 820 /* SFVCB_COPYHOOKCALLBACK structure */ 821 typedef struct 822 { 823 HWND hwnd; 824 UINT wFunc; 825 UINT wFlags; 826 LPCSTR pszSrcFile; 827 DWORD dwSrcAttribs; 828 LPCSTR pszDestFile; 829 DWORD dwDestAttribs; 830 } SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO; 831 typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO; 832 833 /* SFVCB_GETDETAILSOF structure */ 834 typedef struct 835 { 836 LPCITEMIDLIST pidl; 837 int fmt; 838 int cx; 839 STRRET lpText; 840 } SFVCOLUMNINFO, * LPSFVCOLUMNINFO; 841 842 int WINAPI SHShellFolderView_Message( 843 HWND hwndCabinet, 844 DWORD dwMessage, 845 DWORD dwParam); 846 847 /* SHShellFolderView_Message messages */ 848 #define SFVM_REARRANGE 0x0001 849 #define SFVM_GETARRANGECOLUMN 0x0002 850 #define SFVM_ADDOBJECT 0x0003 851 #define SFVM_GETITEMCOUNT 0x0004 852 #define SFVM_GETITEMPIDL 0x0005 853 #define SFVM_REMOVEOBJECT 0x0006 854 #define SFVM_UPDATEOBJECT 0x0007 855 #define SFVM_SETREDRAW 0x0008 856 #define SFVM_GETSELECTEDOBJECTS 0x0009 857 #define SFVM_ISDROPONSOURCE 0x000A 858 #define SFVM_MOVEICONS 0x000B 859 #define SFVM_GETDRAGPOINT 0x000C 860 #define SFVM_GETDROPPOINT 0x000D 861 #define SFVM_SETOBJECTPOS 0x000E 862 #define SFVM_ISDROPONBACKGROUND 0x000F 863 #define SFVM_CUTOBJECTS 0x0010 864 #define SFVM_TOGGLEAUTOARRANGE 0x0011 865 #define SFVM_LINEUPICONS 0x0012 866 #define SFVM_GETAUTOARRANGE 0x0013 867 #define SFVM_GETSELECTEDCOUNT 0x0014 868 #define SFVM_GETITEMSPACING 0x0015 869 #define SFVM_REFRESHOBJECT 0x0016 870 #define SFVM_SETCLIPBOARDPOINTS 0x0017 871 872 /**************************************************************************** 873 * Misc Stuff 874 */ 875 876 /* SHWaitForFileToOpen flags */ 877 #define SHWFF_ADD 0x01 878 #define SHWFF_REMOVE 0x02 879 #define SHWFF_WAIT 0x04 880 881 BOOL WINAPI SHWaitForFileToOpen( 882 LPCITEMIDLIST pidl, 883 DWORD dwFlags, 884 DWORD dwTimeout); 885 886 WORD WINAPI ArrangeWindows( 887 HWND hwndParent, 888 DWORD dwReserved, 889 LPCRECT lpRect, 890 WORD cKids, 891 CONST HWND * lpKids); 892 893 /* RegisterShellHook types */ 894 #define RSH_DEREGISTER 0 895 #define RSH_REGISTER 1 896 #define RSH_REGISTER_PROGMAN 2 897 #define RSH_REGISTER_TASKMAN 3 898 899 BOOL WINAPI RegisterShellHook( 900 HWND hWnd, 901 DWORD dwType); 902 903 /* SHCreateDefClassObject callback function */ 904 //typedef HRESULT CALLBACK (*LPFNCDCOCALLBACK)( 905 typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)( 906 LPUNKNOWN pUnkOuter, 907 REFIID riidObject, 908 LPVOID *ppvObject); 909 910 HRESULT WINAPI SHCreateDefClassObject( 911 REFIID riidFactory, 912 LPVOID *ppvFactory, 913 LPFNCDCOCALLBACK lpfnCallback, 914 LPDWORD lpdwUsage, 915 REFIID riidObject); 916 917 HRESULT WINAPI SHCoCreateInstance( 918 LPCSTR lpszClsid, 919 REFCLSID rClsid, 920 LPUNKNOWN pUnkOuter, 921 REFIID riid, 922 LPVOID *ppv); 923 924 void WINAPI SHFreeUnusedLibraries(); 925 926 /* SHCreateLinks flags */ 927 #define SHCLF_PREFIXNAME 0x01 928 #define SHCLF_CREATEONDESKTOP 0x02 929 930 HRESULT WINAPI SHCreateLinks( 931 HWND hWnd, 932 LPCSTR lpszDir, 933 LPDATAOBJECT lpDataObject, 934 UINT uFlags, 935 LPITEMIDLIST *lppidlLinks); 936 937 /* SHGetNewLinkInfo flags */ 938 #define SHGNLI_PIDL 0x01 939 #define SHGNLI_PREFIXNAME 0x02 940 #define SHGNLI_NOUNIQUE 0x04 941 942 BOOL WINAPI SHGetNewLinkInfoA( 943 LPCSTR pszLinkTo, 944 LPCSTR pszDir, 945 LPSTR pszName, 946 BOOL *pfMustCopy, 947 UINT uFlags); 948 949 BOOL WINAPI SHGetNewLinkInfoW( 950 LPCWSTR pszLinkTo, 951 LPCWSTR pszDir, 952 LPWSTR pszName, 953 BOOL *pfMustCopy, 954 UINT uFlags); 955 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo) 956 957 /* policy functions */ 958 BOOL WINAPI SHInitRestricted(LPSTR, LPSTR); 959 56 960 #ifdef __cplusplus 57 961 } /* extern "C" */
Note:
See TracChangeset
for help on using the changeset viewer.