Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1424 lines
19 KiB

  1. #include "shellpch.h"
  2. #pragma hdrstop
  3. #define _SHELL32_
  4. #include <shellapi.h>
  5. #include <shlobj.h>
  6. #include <shlobjp.h>
  7. #undef SHSTDAPI
  8. #define SHSTDAPI HRESULT STDAPICALLTYPE
  9. #undef SHSTDAPI_
  10. #define SHSTDAPI_(type) type STDAPICALLTYPE
  11. static
  12. WINSHELLAPI
  13. UINT
  14. WINAPI
  15. ExtractIconExW (
  16. LPCWSTR lpszFile,
  17. int nIconIndex,
  18. HICON FAR *phiconLarge,
  19. HICON FAR *phiconSmall,
  20. UINT nIcons)
  21. {
  22. return 0;
  23. }
  24. static
  25. WINSHELLAPI
  26. UINT
  27. WINAPI
  28. ExtractIconExA (
  29. LPCSTR lpszFile,
  30. int nIconIndex,
  31. HICON FAR *phiconLarge,
  32. HICON FAR *phiconSmall,
  33. UINT nIcons)
  34. {
  35. return 0;
  36. }
  37. static
  38. HINSTANCE
  39. WINAPI
  40. FindExecutableA (
  41. LPCSTR lpFile,
  42. LPCSTR lpDirectory,
  43. LPSTR lpResult
  44. )
  45. {
  46. return 0;
  47. }
  48. static
  49. HINSTANCE
  50. WINAPI
  51. FindExecutableW (
  52. LPCWSTR lpFile,
  53. LPCWSTR lpDirectory,
  54. LPWSTR lpResult
  55. )
  56. {
  57. return 0;
  58. }
  59. static
  60. int
  61. WINAPI
  62. RestartDialog (
  63. HWND hParent,
  64. LPCTSTR lpPrompt,
  65. DWORD dwReturn
  66. )
  67. {
  68. return IDNO;
  69. }
  70. static
  71. int
  72. WINAPI
  73. RestartDialogEx (
  74. HWND hParent,
  75. LPCTSTR lpPrompt,
  76. DWORD dwReturn,
  77. DWORD ReasonCode
  78. )
  79. {
  80. return IDNO;
  81. }
  82. static
  83. LPITEMIDLIST
  84. WINAPI
  85. SHBrowseForFolderW (
  86. LPBROWSEINFOW lpbi
  87. )
  88. {
  89. return NULL;
  90. }
  91. static
  92. LPITEMIDLIST
  93. WINAPI
  94. SHBrowseForFolderA (
  95. LPBROWSEINFOA lpbi
  96. )
  97. {
  98. return NULL;
  99. }
  100. static
  101. void
  102. STDAPICALLTYPE
  103. SHChangeNotify(
  104. LONG wEventId,
  105. UINT uFlags,
  106. LPCVOID dwItem1,
  107. LPCVOID dwItem2)
  108. {
  109. }
  110. static
  111. HRESULT
  112. STDAPICALLTYPE
  113. SHGetFolderPathA (
  114. HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPSTR pszPath
  115. )
  116. {
  117. *pszPath = 0;
  118. return E_FAIL;
  119. }
  120. static
  121. HRESULT
  122. STDAPICALLTYPE
  123. SHGetFolderPathW (
  124. HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath
  125. )
  126. {
  127. *pszPath = 0;
  128. return E_FAIL;
  129. }
  130. static
  131. HRESULT
  132. STDAPICALLTYPE
  133. SHGetMalloc (
  134. LPMALLOC * ppMalloc
  135. )
  136. {
  137. return E_FAIL;
  138. }
  139. static
  140. BOOL
  141. STDAPICALLTYPE
  142. SHGetPathFromIDListW (
  143. LPCITEMIDLIST pidl,
  144. LPWSTR pszPath
  145. )
  146. {
  147. return FALSE;
  148. }
  149. static
  150. BOOL
  151. STDAPICALLTYPE
  152. SHGetPathFromIDListA (
  153. LPCITEMIDLIST pidl,
  154. LPSTR pszPath
  155. )
  156. {
  157. return FALSE;
  158. }
  159. static
  160. HRESULT
  161. STDAPICALLTYPE
  162. SHGetSpecialFolderLocation (
  163. HWND hwnd,
  164. int csidl,
  165. LPITEMIDLIST *ppidl
  166. )
  167. {
  168. return E_FAIL;
  169. }
  170. static
  171. BOOL
  172. STDAPICALLTYPE
  173. SHGetSpecialFolderPathW(
  174. HWND hwnd,
  175. LPWSTR pszPath,
  176. int csidl,
  177. BOOL fCreate)
  178. {
  179. return FALSE;
  180. }
  181. static
  182. WINSHELLAPI
  183. INT
  184. WINAPI
  185. ShellAboutW(
  186. HWND hwnd,
  187. LPCWSTR szApp,
  188. LPCWSTR szOtherStuff,
  189. HICON hIcon
  190. )
  191. {
  192. return FALSE;
  193. }
  194. static
  195. WINSHELLAPI
  196. HINSTANCE
  197. APIENTRY
  198. ShellExecuteA (
  199. HWND hwnd,
  200. LPCSTR lpOperation,
  201. LPCSTR lpFile,
  202. LPCSTR lpParameters,
  203. LPCSTR lpDirectory,
  204. INT nShowCmd
  205. )
  206. {
  207. return NULL;
  208. }
  209. static
  210. WINSHELLAPI
  211. BOOL
  212. WINAPI
  213. ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo)
  214. {
  215. return FALSE;
  216. }
  217. static
  218. WINSHELLAPI
  219. BOOL
  220. WINAPI
  221. ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo)
  222. {
  223. return FALSE;
  224. }
  225. static
  226. WINSHELLAPI
  227. HINSTANCE
  228. APIENTRY
  229. ShellExecuteW (
  230. HWND hwnd,
  231. LPCWSTR lpOperation,
  232. LPCWSTR lpFile,
  233. LPCWSTR lpParameters,
  234. LPCWSTR lpDirectory,
  235. INT nShowCmd
  236. )
  237. {
  238. return NULL;
  239. }
  240. static
  241. BOOL
  242. WINAPI
  243. LinkWindow_RegisterClass()
  244. {
  245. return FALSE;
  246. }
  247. static
  248. BOOL
  249. WINAPI
  250. LinkWindow_UnregisterClass(
  251. HINSTANCE hInst
  252. )
  253. {
  254. return FALSE;
  255. }
  256. static
  257. UINT
  258. WINAPI
  259. DragQueryFileA(
  260. HDROP hDrop,
  261. UINT wFile,
  262. LPSTR lpFile,
  263. UINT cb
  264. )
  265. {
  266. return wFile;
  267. }
  268. static
  269. UINT
  270. WINAPI
  271. DragQueryFileW(
  272. HDROP hDrop,
  273. UINT wFile,
  274. LPWSTR lpFile,
  275. UINT cb
  276. )
  277. {
  278. return wFile;
  279. }
  280. static
  281. HRESULT
  282. WINAPI
  283. SHDefExtractIconA(
  284. LPCSTR pszIconFile,
  285. int iIndex,
  286. UINT uFlags,
  287. HICON *phiconLarge,
  288. HICON *phiconSmall,
  289. UINT nIconSize
  290. )
  291. {
  292. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  293. }
  294. static
  295. HRESULT
  296. WINAPI
  297. SHDefExtractIconW(
  298. LPCWSTR pszIconFile,
  299. int iIndex,
  300. UINT uFlags,
  301. HICON *phiconLarge,
  302. HICON *phiconSmall,
  303. UINT nIconSize
  304. )
  305. {
  306. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  307. }
  308. static
  309. BOOL
  310. WINAPI
  311. SHGetNewLinkInfoA(
  312. LPCSTR pszLinkTo,
  313. LPCSTR pszDir,
  314. LPSTR pszName,
  315. BOOL* pfMustCopy,
  316. UINT uFlags
  317. )
  318. {
  319. return FALSE;
  320. }
  321. static
  322. BOOL
  323. WINAPI
  324. SHGetNewLinkInfoW(
  325. LPCWSTR pszLinkTo,
  326. LPCWSTR pszDir,
  327. LPWSTR pszName,
  328. BOOL* pfMustCopy,
  329. UINT uFlags
  330. )
  331. {
  332. return FALSE;
  333. }
  334. static
  335. HICON
  336. WINAPI
  337. ExtractIconA(
  338. HINSTANCE hInst,
  339. LPCSTR lpszExeFileName,
  340. UINT nIconIndex
  341. )
  342. {
  343. return NULL;
  344. }
  345. static
  346. HICON
  347. WINAPI
  348. ExtractIconW(
  349. HINSTANCE hInst,
  350. LPCWSTR lpszExeFileName,
  351. UINT nIconIndex
  352. )
  353. {
  354. return NULL;
  355. }
  356. static
  357. DWORD_PTR
  358. WINAPI
  359. SHGetFileInfoA(
  360. LPCSTR pszPath,
  361. DWORD dwFileAttributes,
  362. SHFILEINFOA *psfi,
  363. UINT cbFileInfo,
  364. UINT uFlags
  365. )
  366. {
  367. return 0;
  368. }
  369. static
  370. DWORD_PTR
  371. WINAPI
  372. SHGetFileInfoW(
  373. LPCWSTR pszPath,
  374. DWORD dwFileAttributes,
  375. SHFILEINFOW *psfi,
  376. UINT cbFileInfo,
  377. UINT uFlags
  378. )
  379. {
  380. return 0;
  381. }
  382. static
  383. DWORD
  384. WINAPI
  385. SHFormatDrive(
  386. HWND hwnd,
  387. UINT drive,
  388. UINT fmtID,
  389. UINT options
  390. )
  391. {
  392. return SHFMT_ERROR;
  393. }
  394. static
  395. int
  396. WINAPI
  397. DriveType(
  398. int iDrive
  399. )
  400. {
  401. return DRIVE_UNKNOWN;
  402. }
  403. static
  404. int
  405. WINAPI
  406. RealDriveType(
  407. int iDrive,
  408. BOOL fOKToHitNet
  409. )
  410. {
  411. return DRIVE_UNKNOWN;
  412. }
  413. static
  414. void
  415. WINAPI
  416. ILFree(
  417. LPITEMIDLIST pidl
  418. )
  419. {
  420. }
  421. static
  422. LPITEMIDLIST
  423. WINAPI
  424. ILClone(
  425. LPCITEMIDLIST pidl
  426. )
  427. {
  428. return NULL;
  429. }
  430. static
  431. BOOL
  432. WINAPI
  433. ILIsEqual(
  434. LPCITEMIDLIST pidl1,
  435. LPCITEMIDLIST pidl2
  436. )
  437. {
  438. return (pidl1 == pidl2);
  439. }
  440. static
  441. HRESULT
  442. WINAPI
  443. SHGetDesktopFolder(
  444. IShellFolder** ppshf
  445. )
  446. {
  447. *ppshf = NULL;
  448. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  449. }
  450. static
  451. int
  452. WINAPI
  453. Shell_GetCachedImageIndex(
  454. LPCTSTR pszIconPath,
  455. int iIconIndex,
  456. UINT uIconFlags
  457. )
  458. {
  459. return -1;
  460. }
  461. static
  462. int
  463. WINAPI
  464. SHFileOperationA(
  465. LPSHFILEOPSTRUCTA lpFileOp
  466. )
  467. {
  468. return ERROR_PROC_NOT_FOUND;
  469. }
  470. static
  471. int
  472. WINAPI
  473. SHFileOperationW(
  474. LPSHFILEOPSTRUCTW lpFileOp
  475. )
  476. {
  477. return ERROR_PROC_NOT_FOUND;
  478. }
  479. static
  480. int
  481. WINAPI
  482. IsNetDrive(
  483. int iDrive
  484. )
  485. {
  486. return 0;
  487. }
  488. static
  489. UINT
  490. WINAPI
  491. ILGetSize(
  492. LPCITEMIDLIST pidl
  493. )
  494. {
  495. return 0;
  496. }
  497. static
  498. void
  499. WINAPI
  500. SHFlushSFCache()
  501. {
  502. }
  503. static
  504. HRESULT
  505. WINAPI
  506. SHCoCreateInstance(
  507. LPCTSTR pszCLSID,
  508. const CLSID *pclsid,
  509. IUnknown *pUnkOuter,
  510. REFIID riid,
  511. void** ppv
  512. )
  513. {
  514. *ppv = NULL;
  515. return E_FAIL;
  516. }
  517. static
  518. HRESULT
  519. WINAPI
  520. SHGetInstanceExplorer(
  521. IUnknown** ppunk
  522. )
  523. {
  524. *ppunk = NULL;
  525. return E_FAIL;
  526. }
  527. static
  528. HRESULT
  529. WINAPI
  530. SHGetDataFromIDListW(
  531. IShellFolder *psf,
  532. LPCITEMIDLIST pidl,
  533. int nFormat,
  534. void* pv,
  535. int cb
  536. )
  537. {
  538. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  539. }
  540. static
  541. HRESULT
  542. WINAPI
  543. SHBindToParent(
  544. LPCITEMIDLIST pidl,
  545. REFIID riid,
  546. void** ppv,
  547. LPCITEMIDLIST* ppidlLast
  548. )
  549. {
  550. *ppv = NULL;
  551. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  552. }
  553. static
  554. SHSTDAPI_(void)
  555. SHFree(
  556. void* pv
  557. )
  558. {
  559. }
  560. static
  561. SHSTDAPI_(void)
  562. SHGetSetSettings(
  563. LPSHELLSTATE lpss,
  564. DWORD dwMask,
  565. BOOL bSet
  566. )
  567. {
  568. ZeroMemory(lpss, sizeof(SHELLSTATE));
  569. }
  570. static
  571. SHSTDAPI_(BOOL)
  572. Shell_GetImageLists(
  573. HIMAGELIST *phiml,
  574. HIMAGELIST *phimlSmall
  575. )
  576. {
  577. if (phiml)
  578. {
  579. *phiml = NULL;
  580. }
  581. if (phimlSmall)
  582. {
  583. *phimlSmall = NULL;
  584. }
  585. return FALSE;
  586. }
  587. static
  588. SHSTDAPI_(BOOL)
  589. Shell_NotifyIconW(
  590. DWORD dwMessage,
  591. NOTIFYICONDATAW *pnid
  592. )
  593. {
  594. return FALSE;
  595. }
  596. static
  597. SHSTDAPI_(BOOL)
  598. DAD_DragEnterEx2(
  599. HWND hwndTarget,
  600. const POINT ptStart,
  601. IDataObject *pdtObject
  602. )
  603. {
  604. return FALSE;
  605. }
  606. static
  607. SHSTDAPI_(BOOL)
  608. DAD_DragMove(
  609. POINT pt
  610. )
  611. {
  612. return FALSE;
  613. }
  614. static
  615. SHSTDAPI
  616. SHGetDataFromIDListA(
  617. IShellFolder *psf,
  618. LPCITEMIDLIST pidl,
  619. int nFormat,
  620. void* pv,
  621. int cb
  622. )
  623. {
  624. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  625. }
  626. static
  627. SHSTDAPI_(LPITEMIDLIST)
  628. ILCombine(
  629. LPCITEMIDLIST pidl1,
  630. LPCITEMIDLIST pidl2
  631. )
  632. {
  633. return NULL;
  634. }
  635. static
  636. SHSTDAPI
  637. SHDoDragDrop(
  638. HWND hwnd,
  639. IDataObject *pdata,
  640. IDropSource *pdsrc,
  641. DWORD dwEffect,
  642. DWORD *pdwEffect
  643. )
  644. {
  645. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  646. }
  647. static
  648. SHSTDAPI
  649. SHLoadOLE(
  650. LPARAM lParam
  651. )
  652. {
  653. return S_OK;
  654. }
  655. static
  656. SHSTDAPI_(void)
  657. SHSetInstanceExplorer(
  658. IUnknown *punk
  659. )
  660. {
  661. }
  662. static
  663. SHSTDAPI
  664. SHCreateStdEnumFmtEtc(
  665. UINT cfmt,
  666. const FORMATETC afmt[],
  667. IEnumFORMATETC **ppenumFormatEtc
  668. )
  669. {
  670. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  671. }
  672. static
  673. SHSTDAPI
  674. ILLoadFromStream(
  675. IStream *pstm,
  676. LPITEMIDLIST *pidl
  677. )
  678. {
  679. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  680. }
  681. static
  682. SHSTDAPI_(UINT)
  683. Shell_MergeMenus(
  684. HMENU hmDst,
  685. HMENU hmSrc,
  686. UINT uInsert,
  687. UINT uIDAdjust,
  688. UINT uIDAdjustMax,
  689. ULONG uFlags
  690. )
  691. {
  692. return uIDAdjust;
  693. }
  694. static
  695. SHSTDAPI_(LPITEMIDLIST)
  696. ILCloneFirst(
  697. LPCITEMIDLIST pidl
  698. )
  699. {
  700. return NULL;
  701. }
  702. static
  703. SHSTDAPI_(DWORD)
  704. SHRestricted(
  705. RESTRICTIONS rest
  706. )
  707. {
  708. return 0;
  709. }
  710. static
  711. SHSTDAPI
  712. SHStartNetConnectionDialogW(
  713. HWND hwnd,
  714. LPCWSTR pszRemoteName,
  715. DWORD dwType
  716. )
  717. {
  718. return S_OK;
  719. }
  720. static
  721. SHSTDAPI_(BOOL)
  722. SHChangeNotifyDeregister(
  723. unsigned long ulID
  724. )
  725. {
  726. return FALSE;
  727. }
  728. static
  729. SHSTDAPI
  730. SHFlushClipboard()
  731. {
  732. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  733. }
  734. static
  735. SHSTDAPI_(LPITEMIDLIST)
  736. ILFindChild(
  737. LPCITEMIDLIST pidlParent,
  738. LPCITEMIDLIST pidlChild
  739. )
  740. {
  741. return NULL;
  742. }
  743. static
  744. SHSTDAPI_(BOOL)
  745. ILIsParent(
  746. LPCITEMIDLIST pidl1,
  747. LPCITEMIDLIST pidl2,
  748. BOOL fImmediate
  749. )
  750. {
  751. return FALSE;
  752. }
  753. static
  754. SHSTDAPI_(BOOL)
  755. ILRemoveLastID(
  756. LPITEMIDLIST pidl
  757. )
  758. {
  759. return FALSE;
  760. }
  761. static
  762. SHSTDAPI_(IContextMenu*)
  763. SHFind_InitMenuPopup(
  764. HMENU hmenu,
  765. HWND hwndOwner,
  766. UINT idCmdFirst,
  767. UINT idCmdLast
  768. )
  769. {
  770. return NULL;
  771. }
  772. static
  773. SHSTDAPI_(BOOL)
  774. SHChangeNotification_Unlock(
  775. HANDLE hLock
  776. )
  777. {
  778. return FALSE;
  779. }
  780. static
  781. SHSTDAPI_(HANDLE)
  782. SHChangeNotification_Lock(
  783. HANDLE hChangeNotification,
  784. DWORD dwProcessId,
  785. LPITEMIDLIST **pppidl,
  786. LONG *plEvent
  787. )
  788. {
  789. return NULL;
  790. }
  791. static
  792. SHSTDAPI
  793. SHGetRealIDL(
  794. IShellFolder *psf,
  795. LPCITEMIDLIST pidlSimple,
  796. LPITEMIDLIST * ppidlReal
  797. )
  798. {
  799. *ppidlReal = NULL;
  800. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  801. }
  802. static
  803. SHSTDAPI
  804. ILSaveToStream(
  805. IStream *pstm,
  806. LPCITEMIDLIST pidl
  807. )
  808. {
  809. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  810. }
  811. static
  812. SHSTDAPI_(BOOL)
  813. DAD_ShowDragImage(
  814. BOOL fShow
  815. )
  816. {
  817. return FALSE;
  818. }
  819. static
  820. SHSTDAPI_(BOOL)
  821. SignalFileOpen(
  822. LPCITEMIDLIST pidl
  823. )
  824. {
  825. return FALSE;
  826. }
  827. static
  828. SHSTDAPI_(int)
  829. SHMapPIDLToSystemImageListIndex(
  830. IShellFolder *pshf,
  831. LPCITEMIDLIST pidl,
  832. int *piIndexSel
  833. )
  834. {
  835. return -1;
  836. }
  837. static
  838. SHSTDAPI_(LPITEMIDLIST)
  839. ILGetNext(
  840. LPCITEMIDLIST pidl
  841. )
  842. {
  843. return NULL;
  844. }
  845. static
  846. SHSTDAPI_(BOOL)
  847. PathIsExe(
  848. LPCTSTR pszPath
  849. )
  850. {
  851. return FALSE;
  852. }
  853. static
  854. SHSTDAPI_(BOOL)
  855. DAD_DragLeave()
  856. {
  857. return FALSE;
  858. }
  859. static
  860. SHSTDAPI_(UINT_PTR)
  861. SHAppBarMessage(
  862. DWORD dwMessage,
  863. PAPPBARDATA pData
  864. )
  865. {
  866. return FALSE;
  867. }
  868. static
  869. SHSTDAPI_(HICON)
  870. ExtractAssociatedIconExW(
  871. HINSTANCE hInst,
  872. LPWSTR lpIconPath,
  873. LPWORD lpiIconIndex,
  874. LPWORD lpiIconId
  875. )
  876. {
  877. return NULL;
  878. }
  879. static
  880. SHSTDAPI_(BOOL)
  881. DAD_AutoScroll(
  882. HWND hwnd,
  883. AUTO_SCROLL_DATA *pad,
  884. const POINT *pptNow
  885. )
  886. {
  887. return FALSE;
  888. }
  889. static
  890. SHSTDAPI_(BOOL)
  891. DAD_SetDragImage(
  892. HIMAGELIST him,
  893. POINT * pptOffset
  894. )
  895. {
  896. return TRUE;
  897. }
  898. static
  899. SHSTDAPI_(LPITEMIDLIST)
  900. ILAppendID(
  901. LPITEMIDLIST pidl,
  902. LPCSHITEMID pmkid,
  903. BOOL fAppend
  904. )
  905. {
  906. return NULL;
  907. }
  908. static
  909. SHSTDAPI_(int)
  910. SHHandleUpdateImage(
  911. LPCITEMIDLIST pidlExtra
  912. )
  913. {
  914. return -1;
  915. }
  916. static
  917. SHSTDAPI_(LPITEMIDLIST)
  918. SHCloneSpecialIDList(
  919. HWND hwnd,
  920. int csidl,
  921. BOOL fCreate
  922. )
  923. {
  924. return NULL;
  925. }
  926. static
  927. SHSTDAPI_(INT)
  928. ShellAboutA(
  929. HWND hWnd,
  930. LPCSTR szApp,
  931. LPCSTR szOtherStuff,
  932. HICON hIcon
  933. )
  934. {
  935. return 0;
  936. }
  937. static
  938. SHSTDAPI_(int)
  939. SHCreateDirectory(
  940. HWND hwnd,
  941. LPCTSTR pszPath
  942. )
  943. {
  944. return ERROR_PROC_NOT_FOUND;
  945. }
  946. static
  947. SHSTDAPI_(int)
  948. PathCleanupSpec(
  949. LPCTSTR pszDir,
  950. LPTSTR pszSpec
  951. )
  952. {
  953. return 0;
  954. }
  955. static
  956. SHSTDAPI_(void *)
  957. SHAlloc(
  958. SIZE_T cb
  959. )
  960. {
  961. return NULL;
  962. }
  963. static
  964. SHSTDAPI_(BOOL)
  965. ReadCabinetState(
  966. LPCABINETSTATE lpState,
  967. int iSize
  968. )
  969. {
  970. return FALSE;
  971. }
  972. static
  973. SHSTDAPI_(LPITEMIDLIST)
  974. ILCreateFromPathA(
  975. LPCSTR pszPath
  976. )
  977. {
  978. return NULL;
  979. }
  980. static
  981. SHSTDAPI_(LPITEMIDLIST)
  982. ILCreateFromPathW(
  983. LPCWSTR pszPath
  984. )
  985. {
  986. return NULL;
  987. }
  988. static
  989. SHSTDAPI_(LPITEMIDLIST)
  990. ILFindLastID(
  991. LPCITEMIDLIST pidl
  992. )
  993. {
  994. return NULL;
  995. }
  996. static
  997. SHSTDAPI_(BOOL)
  998. WriteCabinetState(
  999. LPCABINETSTATE lpState
  1000. )
  1001. {
  1002. return FALSE;
  1003. }
  1004. static
  1005. SHSTDAPI_(void)
  1006. SHUpdateImageW(
  1007. LPCWSTR pszHashItem,
  1008. int iIndex,
  1009. UINT uFlags,
  1010. int iImageIndex
  1011. )
  1012. {
  1013. }
  1014. static
  1015. SHSTDAPI
  1016. SHLimitInputEdit(
  1017. HWND hwndEdit,
  1018. IShellFolder *psf
  1019. )
  1020. {
  1021. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1022. }
  1023. static
  1024. SHSTDAPI
  1025. SHPathPrepareForWriteW(
  1026. HWND hwnd,
  1027. IUnknown *punkEnableModless,
  1028. LPCWSTR pszPath,
  1029. DWORD dwFlags
  1030. )
  1031. {
  1032. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1033. }
  1034. static
  1035. SHSTDAPI
  1036. SHLoadInProc(
  1037. REFCLSID rclsid
  1038. )
  1039. {
  1040. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1041. }
  1042. static
  1043. SHSTDAPI_(LONG)
  1044. PathProcessCommand(
  1045. LPCTSTR lpSrc,
  1046. LPTSTR lpDest,
  1047. int iMax,
  1048. DWORD dwFlags
  1049. )
  1050. {
  1051. return -1;
  1052. }
  1053. static
  1054. WINSHELLAPI
  1055. HRESULT
  1056. STDAPICALLTYPE
  1057. SHCLSIDFromString(
  1058. LPCTSTR lpsz,
  1059. LPCLSID lpclsid
  1060. )
  1061. {
  1062. ZeroMemory(lpclsid, sizeof(CLSID));
  1063. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1064. }
  1065. static
  1066. SHSTDAPI
  1067. SHILCreateFromPath(
  1068. LPCTSTR szPath,
  1069. LPITEMIDLIST *ppidl,
  1070. DWORD *rgfInOut
  1071. )
  1072. {
  1073. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1074. }
  1075. static
  1076. SHSTDAPI_(LPITEMIDLIST)
  1077. SHSimpleIDListFromPath(
  1078. LPCTSTR pszPath
  1079. )
  1080. {
  1081. return NULL;
  1082. }
  1083. static
  1084. SHSTDAPI_(BOOL)
  1085. GetFileNameFromBrowse(
  1086. HWND hwnd,
  1087. LPTSTR pszFilePath,
  1088. UINT cbFilePath,
  1089. LPCTSTR pszWorkingDir,
  1090. LPCTSTR pszDefExt,
  1091. LPCTSTR pszFilters,
  1092. LPCTSTR pszTitle
  1093. )
  1094. {
  1095. return FALSE;
  1096. }
  1097. static
  1098. SHSTDAPI_(IStream*)
  1099. OpenRegStream(
  1100. HKEY hkey,
  1101. LPCTSTR pszSubkey,
  1102. LPCTSTR pszValue,
  1103. DWORD grfMode
  1104. )
  1105. {
  1106. return NULL;
  1107. }
  1108. static
  1109. SHSTDAPI_(BOOL)
  1110. PathYetAnotherMakeUniqueName(
  1111. LPTSTR pszUniqueName,
  1112. LPCTSTR pszPath,
  1113. LPCTSTR pszShort,
  1114. LPCTSTR pszFileSpec
  1115. )
  1116. {
  1117. return FALSE;
  1118. }
  1119. static
  1120. WINSHELLAPI
  1121. int
  1122. WINAPI
  1123. PickIconDlg(
  1124. HWND hwnd,
  1125. LPTSTR pszIconPath,
  1126. UINT cbIconPath,
  1127. int *piIconIndex
  1128. )
  1129. {
  1130. return 0;
  1131. }
  1132. static
  1133. SHSTDAPI_(LRESULT)
  1134. SHShellFolderView_Message(
  1135. HWND hwndMain,
  1136. UINT uMsg,
  1137. LPARAM lParam
  1138. )
  1139. {
  1140. return 0;
  1141. }
  1142. static
  1143. SHSTDAPI
  1144. SHCreateShellFolderViewEx(
  1145. LPCSFV pcsfv,
  1146. IShellView** ppsv
  1147. )
  1148. {
  1149. *ppsv = NULL;
  1150. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  1151. }
  1152. static
  1153. SHSTDAPI_(BOOL)
  1154. SHFindFiles(
  1155. LPCITEMIDLIST pidlFolder,
  1156. LPCITEMIDLIST pidlSaveFile
  1157. )
  1158. {
  1159. return FALSE;
  1160. }
  1161. static
  1162. SHSTDAPI_(BOOL)
  1163. DAD_DragEnterEx(
  1164. HWND hwndTarget,
  1165. const POINT ptStart
  1166. )
  1167. {
  1168. return FALSE;
  1169. }
  1170. //
  1171. // !! WARNING !! The entries below must be in order by ORDINAL
  1172. //
  1173. DEFINE_ORDINAL_ENTRIES(shell32)
  1174. {
  1175. DLOENTRY(3, SHDefExtractIconA)
  1176. DLOENTRY(4, SHChangeNotifyDeregister)
  1177. DLOENTRY(6, SHDefExtractIconW)
  1178. DLOENTRY(14, SHStartNetConnectionDialogW)
  1179. DLOENTRY(16, ILFindLastID)
  1180. DLOENTRY(17, ILRemoveLastID)
  1181. DLOENTRY(18, ILClone)
  1182. DLOENTRY(19, ILCloneFirst)
  1183. DLOENTRY(21, ILIsEqual)
  1184. DLOENTRY(22, DAD_DragEnterEx2)
  1185. DLOENTRY(23, ILIsParent)
  1186. DLOENTRY(24, ILFindChild)
  1187. DLOENTRY(25, ILCombine)
  1188. DLOENTRY(26, ILLoadFromStream)
  1189. DLOENTRY(27, ILSaveToStream)
  1190. DLOENTRY(28, SHILCreateFromPath)
  1191. DLOENTRY(43, PathIsExe)
  1192. DLOENTRY(59, RestartDialog)
  1193. DLOENTRY(62, PickIconDlg)
  1194. DLOENTRY(63, GetFileNameFromBrowse)
  1195. DLOENTRY(64, DriveType)
  1196. DLOENTRY(66, IsNetDrive)
  1197. DLOENTRY(67, Shell_MergeMenus)
  1198. DLOENTRY(68, SHGetSetSettings)
  1199. DLOENTRY(71, Shell_GetImageLists)
  1200. DLOENTRY(72, Shell_GetCachedImageIndex)
  1201. DLOENTRY(73, SHShellFolderView_Message)
  1202. DLOENTRY(74, SHCreateStdEnumFmtEtc)
  1203. DLOENTRY(75, PathYetAnotherMakeUniqueName)
  1204. DLOENTRY(77, SHMapPIDLToSystemImageListIndex)
  1205. DLOENTRY(85, OpenRegStream)
  1206. DLOENTRY(88, SHDoDragDrop)
  1207. DLOENTRY(89, SHCloneSpecialIDList)
  1208. DLOENTRY(90, SHFindFiles)
  1209. DLOENTRY(98, SHGetRealIDL)
  1210. DLOENTRY(100, SHRestricted)
  1211. DLOENTRY(102, SHCoCreateInstance)
  1212. DLOENTRY(103, SignalFileOpen)
  1213. DLOENTRY(121, SHFlushClipboard)
  1214. DLOENTRY(129, DAD_AutoScroll)
  1215. DLOENTRY(131, DAD_DragEnterEx)
  1216. DLOENTRY(132, DAD_DragLeave)
  1217. DLOENTRY(134, DAD_DragMove)
  1218. DLOENTRY(136, DAD_SetDragImage)
  1219. DLOENTRY(137, DAD_ShowDragImage)
  1220. DLOENTRY(147, SHCLSIDFromString)
  1221. DLOENTRY(149, SHFind_InitMenuPopup)
  1222. DLOENTRY(151, SHLoadOLE)
  1223. DLOENTRY(152, ILGetSize)
  1224. DLOENTRY(153, ILGetNext)
  1225. DLOENTRY(154, ILAppendID)
  1226. DLOENTRY(155, ILFree)
  1227. DLOENTRY(157, ILCreateFromPathW)
  1228. DLOENTRY(162, SHSimpleIDListFromPath)
  1229. DLOENTRY(165, SHCreateDirectory)
  1230. DLOENTRY(171, PathCleanupSpec)
  1231. DLOENTRY(174, SHCreateShellFolderViewEx)
  1232. DLOENTRY(175, SHGetSpecialFolderPathW)
  1233. DLOENTRY(176, SHSetInstanceExplorer)
  1234. DLOENTRY(179, SHGetNewLinkInfoA)
  1235. DLOENTRY(180, SHGetNewLinkInfoW)
  1236. DLOENTRY(189, ILCreateFromPathA)
  1237. DLOENTRY(190, ILCreateFromPathW)
  1238. DLOENTRY(192, SHUpdateImageW)
  1239. DLOENTRY(193, SHHandleUpdateImage)
  1240. DLOENTRY(195, SHFree)
  1241. DLOENTRY(196, SHAlloc)
  1242. DLOENTRY(258, LinkWindow_RegisterClass)
  1243. DLOENTRY(259, LinkWindow_UnregisterClass)
  1244. DLOENTRY(524, RealDriveType)
  1245. DLOENTRY(526, SHFlushSFCache)
  1246. DLOENTRY(644, SHChangeNotification_Lock)
  1247. DLOENTRY(645, SHChangeNotification_Unlock)
  1248. DLOENTRY(652, WriteCabinetState)
  1249. DLOENTRY(653, PathProcessCommand)
  1250. DLOENTRY(654, ReadCabinetState)
  1251. DLOENTRY(730, RestartDialogEx)
  1252. DLOENTRY(747, SHLimitInputEdit)
  1253. };
  1254. DEFINE_ORDINAL_MAP(shell32)
  1255. //
  1256. // !! WARNING !! The entries below must be in alphabetical order, and are CASE SENSITIVE (eg lower case comes last!)
  1257. //
  1258. DEFINE_PROCNAME_ENTRIES(shell32)
  1259. {
  1260. DLPENTRY(DragQueryFileA)
  1261. DLPENTRY(DragQueryFileW)
  1262. DLPENTRY(ExtractAssociatedIconExW)
  1263. DLPENTRY(ExtractIconA)
  1264. DLPENTRY(ExtractIconExA)
  1265. DLPENTRY(ExtractIconExW)
  1266. DLPENTRY(ExtractIconW)
  1267. DLPENTRY(FindExecutableA)
  1268. DLPENTRY(FindExecutableW)
  1269. DLPENTRY(SHAppBarMessage)
  1270. DLPENTRY(SHBindToParent)
  1271. DLPENTRY(SHBrowseForFolderA)
  1272. DLPENTRY(SHBrowseForFolderW)
  1273. DLPENTRY(SHChangeNotify)
  1274. DLPENTRY(SHFileOperationA)
  1275. DLPENTRY(SHFileOperationW)
  1276. DLPENTRY(SHFormatDrive)
  1277. DLPENTRY(SHGetDataFromIDListA)
  1278. DLPENTRY(SHGetDataFromIDListW)
  1279. DLPENTRY(SHGetDesktopFolder)
  1280. DLPENTRY(SHGetFileInfoA)
  1281. DLPENTRY(SHGetFileInfoW)
  1282. DLPENTRY(SHGetFolderPathA)
  1283. DLPENTRY(SHGetFolderPathW)
  1284. DLPENTRY(SHGetInstanceExplorer)
  1285. DLPENTRY(SHGetMalloc)
  1286. DLPENTRY(SHGetPathFromIDListA)
  1287. DLPENTRY(SHGetPathFromIDListW)
  1288. DLPENTRY(SHGetSpecialFolderLocation)
  1289. DLPENTRY(SHGetSpecialFolderPathW)
  1290. DLPENTRY(SHLoadInProc)
  1291. DLPENTRY(SHPathPrepareForWriteW)
  1292. DLPENTRY(ShellAboutA)
  1293. DLPENTRY(ShellAboutW)
  1294. DLPENTRY(ShellExecuteA)
  1295. DLPENTRY(ShellExecuteExA)
  1296. DLPENTRY(ShellExecuteExW)
  1297. DLPENTRY(ShellExecuteW)
  1298. DLPENTRY(Shell_NotifyIconW)
  1299. };
  1300. DEFINE_PROCNAME_MAP(shell32)