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.

1101 lines
18 KiB

  1. #include "shellpch.h"
  2. #pragma hdrstop
  3. #define _UXTHEME_
  4. #include <uxtheme.h>
  5. #include <uxthemep.h>
  6. #undef THEMEAPI_
  7. #define THEMEAPI_(type) type STDAPICALLTYPE
  8. #undef THEMEAPI
  9. #define THEMEAPI HRESULT STDAPICALLTYPE
  10. static
  11. HRESULT
  12. WINAPI
  13. ApplyTheme(
  14. HTHEMEFILE hThemeFile,
  15. DWORD dwApplyFlags,
  16. HWND hwndTarget
  17. )
  18. {
  19. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  20. }
  21. static
  22. HRESULT
  23. WINAPI
  24. CloseThemeData(
  25. HTHEME hTheme
  26. )
  27. {
  28. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  29. }
  30. static
  31. HRESULT
  32. WINAPI
  33. CloseThemeFile(
  34. HTHEMEFILE hThemeFile
  35. )
  36. {
  37. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  38. }
  39. static
  40. HRESULT
  41. WINAPI
  42. DrawNCPreview(
  43. HDC hdc,
  44. DWORD dwFlags,
  45. LPRECT prc,
  46. LPCWSTR pszVSPath,
  47. LPCWSTR pszVSColor,
  48. LPCWSTR pszVSSize,
  49. NONCLIENTMETRICS* pncm,
  50. COLORREF* prgb
  51. )
  52. {
  53. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  54. }
  55. static
  56. HRESULT
  57. WINAPI
  58. EnumThemes(
  59. LPCWSTR pszThemeRoot,
  60. THEMEENUMPROC lpEnumFunc,
  61. LPARAM lParam
  62. )
  63. {
  64. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  65. }
  66. static
  67. HRESULT
  68. WINAPI
  69. EnumThemeColors(
  70. LPCWSTR pszThemeName,
  71. LPCWSTR pszSizeName,
  72. DWORD dwColorIndex,
  73. THEMENAMEINFO *ptn
  74. )
  75. {
  76. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  77. }
  78. static
  79. HRESULT
  80. WINAPI
  81. EnumThemeSizes(
  82. LPCWSTR pszThemeName,
  83. LPCWSTR pszColorScheme,
  84. DWORD dwSizeIndex,
  85. THEMENAMEINFO *ptn
  86. )
  87. {
  88. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  89. }
  90. static
  91. HRESULT
  92. WINAPI
  93. GetCurrentThemeName(
  94. LPWSTR pszNameBuff,
  95. int cchMaxNameChars,
  96. LPWSTR pszColorBuff,
  97. int cchMaxColorChars,
  98. LPWSTR pszSizeBuff,
  99. int cchMaxSizeChars
  100. )
  101. {
  102. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  103. }
  104. static
  105. HRESULT
  106. WINAPI
  107. EnableTheming(
  108. BOOL fEnable
  109. )
  110. {
  111. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  112. }
  113. static
  114. HRESULT
  115. WINAPI
  116. GetThemeDefaults(
  117. LPCWSTR pszThemeName,
  118. LPWSTR pszDefaultColor,
  119. int cchMaxColorChars,
  120. LPWSTR pszDefaultSize,
  121. int cchMaxSizeChars
  122. )
  123. {
  124. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  125. }
  126. static
  127. HRESULT
  128. WINAPI
  129. GetThemeDocumentationProperty(
  130. LPCWSTR pszThemeName,
  131. LPCWSTR pszPropertyName,
  132. LPWSTR pszValueBuff,
  133. int cchMaxValChars
  134. )
  135. {
  136. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  137. }
  138. static
  139. HRESULT
  140. WINAPI
  141. GetThemeSysString(
  142. HTHEME hTheme,
  143. int iStringId,
  144. LPWSTR pszStringBuff,
  145. int cchMaxStringChars
  146. )
  147. {
  148. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  149. }
  150. static
  151. COLORREF
  152. WINAPI
  153. GetThemeSysColor(
  154. HTHEME hTheme,
  155. int iColorId
  156. )
  157. {
  158. return 0x000000;
  159. }
  160. static
  161. HBRUSH
  162. WINAPI
  163. GetThemeSysColorBrush(
  164. HTHEME hTheme,
  165. int iColorId
  166. )
  167. {
  168. return NULL;
  169. }
  170. static
  171. HRESULT
  172. WINAPI
  173. GetThemeSysInt(
  174. HTHEME hTheme,
  175. int iIntId,
  176. int *piValue
  177. )
  178. {
  179. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  180. }
  181. static
  182. BOOL
  183. WINAPI
  184. GetThemeSysBool(
  185. HTHEME hTheme,
  186. int iBoolId
  187. )
  188. {
  189. return FALSE;
  190. }
  191. static
  192. int
  193. WINAPI
  194. GetThemeSysSize(
  195. HTHEME hTheme,
  196. int iSizeId
  197. )
  198. {
  199. return 0;
  200. }
  201. static
  202. int
  203. WINAPI
  204. GetThemeSysSize96(
  205. HTHEME hTheme,
  206. int iSizeId
  207. )
  208. {
  209. return 0;
  210. }
  211. static
  212. HRESULT
  213. WINAPI
  214. GetThemeSysFont(
  215. HTHEME hTheme,
  216. int iFontId,
  217. OUT LOGFONT *plf
  218. )
  219. {
  220. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  221. }
  222. static
  223. HRESULT
  224. WINAPI
  225. GetThemeSysFont96(
  226. HTHEME hTheme,
  227. int iFontId,
  228. OUT LOGFONT *plf
  229. )
  230. {
  231. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  232. }
  233. static
  234. HRESULT
  235. WINAPI
  236. OpenThemeFile(
  237. LPCWSTR pszThemePath,
  238. OPTIONAL LPCWSTR pszColorParam,
  239. OPTIONAL LPCWSTR pszSizeParam,
  240. OUT HTHEMEFILE *phThemeFile,
  241. BOOL fGlobalTheme
  242. )
  243. {
  244. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  245. }
  246. static
  247. HRESULT
  248. WINAPI
  249. GetThemeParseErrorInfo(
  250. PARSE_ERROR_INFO *pInfo
  251. )
  252. {
  253. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  254. }
  255. static
  256. HRESULT
  257. WINAPI
  258. OpenThemeFileFromData(
  259. HTHEME hTheme,
  260. HTHEMEFILE *phThemeFile
  261. )
  262. {
  263. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  264. }
  265. static
  266. HTHEME
  267. WINAPI
  268. OpenThemeDataFromFile(
  269. HTHEMEFILE hLoadedThemeFile,
  270. HWND hwnd,
  271. LPCWSTR pszClassList,
  272. BOOL fClient
  273. )
  274. {
  275. return NULL;
  276. }
  277. static
  278. DWORD
  279. WINAPI
  280. QueryThemeServices(
  281. void
  282. )
  283. {
  284. return 0;
  285. }
  286. static
  287. HRESULT
  288. WINAPI
  289. RegisterDefaultTheme(
  290. LPCWSTR pszFileName,
  291. BOOL fOverride
  292. )
  293. {
  294. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  295. }
  296. static
  297. HRESULT
  298. WINAPI
  299. SetWindowTheme(
  300. HWND hwnd,
  301. LPCWSTR pszSubAppName,
  302. LPCWSTR pszSubIdList
  303. )
  304. {
  305. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  306. }
  307. static
  308. BOOL
  309. WINAPI
  310. IsThemeActive(
  311. void
  312. )
  313. {
  314. return FALSE;
  315. }
  316. // These functions are exported for the use of the server. When the server
  317. // is collapsed in themesrv.dll these should be removed because they will
  318. // not be used and should not be exposed.
  319. static
  320. void*
  321. WINAPI
  322. SessionAllocate(
  323. HANDLE hProcess,
  324. DWORD dwServerChangeNumber,
  325. void *pfnRegister,
  326. void *pfnUnregister,
  327. void *pfnClearStockObjects
  328. )
  329. {
  330. return NULL;
  331. }
  332. static
  333. void
  334. WINAPI
  335. SessionFree(
  336. void *pvContext
  337. )
  338. {
  339. }
  340. static
  341. HRESULT
  342. WINAPI
  343. ThemeHooksOn(
  344. void *pvContext
  345. )
  346. {
  347. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  348. }
  349. static
  350. HRESULT
  351. WINAPI
  352. ThemeHooksOff(
  353. void *pvContext
  354. )
  355. {
  356. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  357. }
  358. static
  359. BOOL
  360. WINAPI
  361. AreThemeHooksActive(
  362. void *pvContext
  363. )
  364. {
  365. return FALSE;
  366. }
  367. static
  368. int
  369. WINAPI
  370. GetCurrentChangeNumber(
  371. void *pvContext
  372. )
  373. {
  374. return -1;
  375. }
  376. static
  377. int
  378. WINAPI
  379. GetNewChangeNumber(
  380. void *pvContext
  381. )
  382. {
  383. return -1;
  384. }
  385. static
  386. HRESULT
  387. WINAPI
  388. SetGlobalTheme(
  389. void *pvContext,
  390. HANDLE hSection
  391. )
  392. {
  393. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  394. }
  395. static
  396. void
  397. WINAPI
  398. MarkSection(
  399. HANDLE hSection,
  400. DWORD dwAdd,
  401. DWORD dwRemove
  402. )
  403. {
  404. }
  405. static
  406. HRESULT
  407. WINAPI
  408. GetGlobalTheme(
  409. void *pvContext,
  410. HANDLE *phSection
  411. )
  412. {
  413. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  414. }
  415. static
  416. HRESULT
  417. WINAPI
  418. CheckThemeSignature(
  419. LPCWSTR pszName
  420. )
  421. {
  422. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  423. }
  424. static
  425. HRESULT
  426. WINAPI
  427. LoadTheme(
  428. void *pvContext,
  429. HANDLE hSection,
  430. HANDLE *phSection,
  431. LPCWSTR pszName,
  432. LPCWSTR pszColor,
  433. LPCWSTR pszSize
  434. )
  435. {
  436. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  437. }
  438. static
  439. HRESULT
  440. WINAPI
  441. InitUserTheme(
  442. BOOL fPolicyCheckOnly
  443. )
  444. {
  445. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  446. }
  447. static
  448. HRESULT
  449. WINAPI
  450. InitUserRegistry(
  451. void
  452. )
  453. {
  454. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  455. }
  456. static
  457. HRESULT
  458. WINAPI
  459. ReestablishServerConnection(
  460. void
  461. )
  462. {
  463. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  464. }
  465. static
  466. void
  467. WINAPI
  468. ThemeHooksInstall(
  469. void *pvContext
  470. )
  471. {
  472. }
  473. static
  474. void
  475. WINAPI
  476. ThemeHooksRemove(
  477. void *pvContext
  478. )
  479. {
  480. }
  481. static
  482. void
  483. WINAPI
  484. ServerClearStockObjects(
  485. void *pvContext
  486. )
  487. {
  488. }
  489. static
  490. int
  491. WINAPI
  492. ClassicGetSystemMetrics(
  493. int iMetric
  494. )
  495. {
  496. return 0;
  497. }
  498. static
  499. BOOL
  500. WINAPI
  501. ClassicSystemParametersInfoA(
  502. UINT uiAction,
  503. UINT uiParam,
  504. PVOID pvParam,
  505. UINT fWinIni
  506. )
  507. {
  508. return FALSE;
  509. }
  510. static
  511. BOOL
  512. WINAPI
  513. ClassicSystemParametersInfoW(
  514. UINT uiAction,
  515. UINT uiParam,
  516. PVOID pvParam,
  517. UINT fWinIni
  518. )
  519. {
  520. return FALSE;
  521. }
  522. static
  523. HRESULT
  524. WINAPI
  525. GetThemeInt(
  526. HTHEME hTheme,
  527. int iPartId,
  528. int iStateId,
  529. int iPropId,
  530. OUT int *piVal
  531. )
  532. {
  533. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  534. }
  535. static
  536. HRESULT
  537. WINAPI
  538. GetThemeTextMetrics(
  539. HTHEME hTheme,
  540. HDC hdc,
  541. int iPartId,
  542. int iStateId,
  543. OUT TEXTMETRIC* ptm
  544. )
  545. {
  546. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  547. }
  548. static
  549. HRESULT
  550. WINAPI
  551. GetThemeFont(
  552. HTHEME hTheme,
  553. OPTIONAL HDC hdc,
  554. int iPartId,
  555. int iStateId,
  556. int iPropId,
  557. OUT LOGFONT *pFont
  558. )
  559. {
  560. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  561. }
  562. static
  563. HRESULT
  564. WINAPI
  565. GetThemeMetric(
  566. HTHEME hTheme,
  567. OPTIONAL HDC hdc,
  568. int iPartId,
  569. int iStateId,
  570. int iPropId,
  571. OUT int *piVal
  572. )
  573. {
  574. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  575. }
  576. static
  577. BOOL
  578. WINAPI
  579. IsThemeBackgroundPartiallyTransparent(
  580. HTHEME hTheme,
  581. int iPartId,
  582. int iStateId
  583. )
  584. {
  585. return FALSE;
  586. }
  587. static
  588. BOOL
  589. WINAPI
  590. IsThemePartDefined(
  591. HTHEME hTheme,
  592. int iPartId,
  593. int iStateId
  594. )
  595. {
  596. return FALSE;
  597. }
  598. static
  599. HRESULT
  600. WINAPI
  601. GetThemeMargins(
  602. HTHEME hTheme,
  603. OPTIONAL HDC hdc,
  604. int iPartId,
  605. int iStateId,
  606. int iPropId,
  607. OPTIONAL RECT *prc,
  608. OUT MARGINS *pMargins
  609. )
  610. {
  611. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  612. }
  613. static
  614. HRESULT
  615. WINAPI
  616. GetThemePartSize(
  617. HTHEME hTheme,
  618. HDC hdc,
  619. int iPartId,
  620. int iStateId,
  621. OPTIONAL RECT *prc,
  622. enum THEMESIZE eSize,
  623. OUT SIZE *psz
  624. )
  625. {
  626. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  627. }
  628. static
  629. HRESULT
  630. WINAPI
  631. DrawThemeEdge(
  632. HTHEME hTheme,
  633. HDC hdc,
  634. int iPartId,
  635. int iStateId,
  636. const RECT *pDestRect,
  637. UINT uEdge,
  638. UINT uFlags,
  639. OPTIONAL OUT RECT *pContentRect
  640. )
  641. {
  642. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  643. }
  644. static
  645. HRESULT
  646. WINAPI
  647. HitTestThemeBackground(
  648. HTHEME hTheme,
  649. OPTIONAL HDC hdc,
  650. int iPartId,
  651. int iStateId,
  652. DWORD dwOptions,
  653. const RECT *pRect,
  654. OPTIONAL HRGN hrgn,
  655. POINT ptTest,
  656. OUT WORD *pwHitTestCode
  657. )
  658. {
  659. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  660. }
  661. static
  662. HRESULT
  663. WINAPI
  664. GetThemeBackgroundExtent(
  665. HTHEME hTheme,
  666. OPTIONAL HDC hdc,
  667. int iPartId,
  668. int iStateId,
  669. const RECT *pContentRect,
  670. OUT RECT *pExtentRect
  671. )
  672. {
  673. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  674. }
  675. static
  676. HRESULT
  677. WINAPI
  678. GetThemeBackgroundRegion(
  679. HTHEME hTheme,
  680. OPTIONAL HDC hdc,
  681. int iPartId,
  682. int iStateId,
  683. const RECT *pRect,
  684. OUT HRGN *pRegion
  685. )
  686. {
  687. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  688. }
  689. static
  690. HRESULT
  691. WINAPI
  692. GetThemeTextExtent(
  693. HTHEME hTheme,
  694. HDC hdc,
  695. int iPartId,
  696. int iStateId,
  697. LPCWSTR pszText,
  698. int iCharCount,
  699. DWORD dwTextFlags,
  700. OPTIONAL const RECT *pBoundingRect,
  701. OUT RECT *pExtentRect
  702. )
  703. {
  704. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  705. }
  706. static
  707. HTHEME
  708. WINAPI
  709. OpenThemeData(
  710. HWND hwnd,
  711. LPCWSTR pszClassIdList
  712. )
  713. {
  714. return NULL;
  715. }
  716. static
  717. HRESULT
  718. WINAPI
  719. DrawThemeBackground(
  720. HTHEME hTheme,
  721. HDC hdc,
  722. int iPartId,
  723. int iStateId,
  724. const RECT *pRect,
  725. OPTIONAL const RECT *pClipRect
  726. )
  727. {
  728. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  729. }
  730. static
  731. HRESULT
  732. WINAPI
  733. DrawThemeParentBackground(
  734. HWND hwnd,
  735. HDC hdc,
  736. RECT* prc
  737. )
  738. {
  739. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  740. }
  741. static
  742. HRESULT
  743. WINAPI
  744. RefreshThemeForTS(
  745. )
  746. {
  747. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  748. }
  749. static HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId,
  750. int iStateId, const RECT *pRect, HIMAGELIST himl, int iImageIndex)
  751. {
  752. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  753. }
  754. static
  755. HRESULT
  756. WINAPI
  757. GetThemeBackgroundContentRect(
  758. HTHEME hTheme,
  759. OPTIONAL HDC hdc,
  760. int iPartId,
  761. int iStateId,
  762. const RECT *pBoundingRect,
  763. OUT RECT *pContentRect
  764. )
  765. {
  766. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  767. }
  768. static
  769. HRESULT
  770. WINAPI
  771. GetThemeColor(
  772. HTHEME hTheme,
  773. int iPartId,
  774. int iStateId,
  775. int iPropId,
  776. OUT COLORREF *pColor
  777. )
  778. {
  779. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  780. }
  781. static
  782. HRESULT
  783. WINAPI
  784. DrawThemeText(
  785. HTHEME hTheme,
  786. HDC hdc,
  787. int iPartId,
  788. int iStateId,
  789. LPCWSTR pszText,
  790. int iCharCount,
  791. DWORD dwTextFlags,
  792. DWORD dwTextFlags2,
  793. const RECT *pRect
  794. )
  795. {
  796. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  797. }
  798. static
  799. HRESULT
  800. WINAPI
  801. EnableThemeDialogTexture(
  802. HWND hwnd,
  803. DWORD dwFlags
  804. )
  805. {
  806. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  807. }
  808. static
  809. THEMEAPI_(BOOL)
  810. IsAppThemed()
  811. {
  812. return FALSE;
  813. }
  814. static THEMEAPI_(void) SetThemeAppProperties(DWORD dwFlags)
  815. {
  816. }
  817. static THEMEAPI_(HTHEME) GetWindowTheme(HWND hwnd)
  818. {
  819. return NULL;
  820. }
  821. static THEMEAPI_(BOOL) IsThemeDialogTextureEnabled(HWND hwnd)
  822. {
  823. return FALSE;
  824. }
  825. static THEMEAPI_(DWORD) GetThemeAppProperties()
  826. {
  827. return 0;
  828. }
  829. static THEMEAPI GetThemeFilename(HTHEME hTheme, int iPartId,
  830. int iStateId, int iPropId, OUT LPWSTR pszThemeFileName, int cchMaxBuffChars)
  831. {
  832. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  833. }
  834. static THEMEAPI GetThemeString(HTHEME hTheme, int iPartId,
  835. int iStateId, int iPropId, OUT LPWSTR pszBuff, int cchMaxBuffChars)
  836. {
  837. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  838. }
  839. static THEMEAPI GetThemeBool(HTHEME hTheme, int iPartId,
  840. int iStateId, int iPropId, OUT BOOL *pfVal)
  841. {
  842. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  843. }
  844. static THEMEAPI GetThemeIntList(HTHEME hTheme, int iPartId,
  845. int iStateId, int iPropId, OUT INTLIST *pIntList)
  846. {
  847. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  848. }
  849. static THEMEAPI GetThemeEnumValue(HTHEME hTheme, int iPartId,
  850. int iStateId, int iPropId, OUT int *piVal)
  851. {
  852. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  853. }
  854. static THEMEAPI GetThemePosition(HTHEME hTheme, int iPartId,
  855. int iStateId, int iPropId, OUT POINT *pPoint)
  856. {
  857. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  858. }
  859. static THEMEAPI GetThemeRect(HTHEME hTheme, int iPartId,
  860. int iStateId, int iPropId, OUT RECT *pRect)
  861. {
  862. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  863. }
  864. static THEMEAPI GetThemePropertyOrigin(HTHEME hTheme, int iPartId,
  865. int iStateId, int iPropId, OUT enum PROPERTYORIGIN *pOrigin)
  866. {
  867. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  868. }
  869. static THEMEAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc,
  870. int iPartId, int iStateId, const RECT *pRect, OPTIONAL const DTBGOPTS *pOptions)
  871. {
  872. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  873. }
  874. static THEMEAPI_(BOOL) ClassicAdjustWindowRectEx( LPRECT prcWnd, DWORD dwStyle,
  875. BOOL fMenu, DWORD dwExStyle )
  876. {
  877. return FALSE;
  878. }
  879. static THEMEAPI DumpLoadedThemeToTextFile(HTHEMEFILE hThemeFile,
  880. LPCWSTR pszTextFile, BOOL fPacked, BOOL fFullInfo)
  881. {
  882. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  883. }
  884. //---- fake some structs for these c++ classes ----
  885. typedef struct _CDrawBase {int dummy;} CDrawBase;
  886. typedef struct _CTextDraw {int dummy;} CTextDraw;
  887. static THEMEAPI_(HTHEME) CreateThemeDataFromObjects(OPTIONAL CDrawBase *pDrawObj,
  888. OPTIONAL CTextDraw *pTextObj, DWORD dwOtdFlags)
  889. {
  890. return NULL;
  891. }
  892. static THEMEAPI_(HTHEME) OpenThemeDataEx(HWND hwnd, LPCWSTR pszClassList, DWORD dwFlags)
  893. {
  894. return NULL;
  895. }
  896. //
  897. // !! WARNING !! The entries below must be in order by ORDINAL
  898. //
  899. DEFINE_ORDINAL_ENTRIES(uxtheme) // PRIVATE functions
  900. {
  901. DLOENTRY(1,QueryThemeServices)
  902. DLOENTRY(2,OpenThemeFile)
  903. DLOENTRY(3,CloseThemeFile)
  904. DLOENTRY(4,ApplyTheme)
  905. DLOENTRY(7,GetThemeDefaults)
  906. DLOENTRY(8,EnumThemes)
  907. DLOENTRY(9,EnumThemeColors)
  908. DLOENTRY(10,EnumThemeSizes)
  909. DLOENTRY(13,DrawNCPreview)
  910. DLOENTRY(14,RegisterDefaultTheme)
  911. DLOENTRY(15,DumpLoadedThemeToTextFile)
  912. DLOENTRY(16,OpenThemeDataFromFile)
  913. DLOENTRY(17,OpenThemeFileFromData)
  914. DLOENTRY(18,GetThemeSysSize96)
  915. DLOENTRY(19,GetThemeSysFont96)
  916. DLOENTRY(20,SessionAllocate)
  917. DLOENTRY(21,SessionFree)
  918. DLOENTRY(22,ThemeHooksOn)
  919. DLOENTRY(23,ThemeHooksOff)
  920. DLOENTRY(24,AreThemeHooksActive)
  921. DLOENTRY(25,GetCurrentChangeNumber)
  922. DLOENTRY(26,GetNewChangeNumber)
  923. DLOENTRY(27,SetGlobalTheme)
  924. DLOENTRY(28,GetGlobalTheme)
  925. DLOENTRY(29,CheckThemeSignature)
  926. DLOENTRY(30,LoadTheme)
  927. DLOENTRY(31,InitUserTheme)
  928. DLOENTRY(32,InitUserRegistry)
  929. DLOENTRY(33,ReestablishServerConnection)
  930. DLOENTRY(34,ThemeHooksInstall)
  931. DLOENTRY(35,ThemeHooksRemove)
  932. DLOENTRY(36,RefreshThemeForTS)
  933. DLOENTRY(43,ClassicGetSystemMetrics)
  934. DLOENTRY(44,ClassicSystemParametersInfoA)
  935. DLOENTRY(45,ClassicSystemParametersInfoW)
  936. DLOENTRY(46,ClassicAdjustWindowRectEx)
  937. DLOENTRY(47,DrawThemeBackgroundEx)
  938. DLOENTRY(48,GetThemeParseErrorInfo)
  939. DLOENTRY(60,CreateThemeDataFromObjects)
  940. DLOENTRY(61,OpenThemeDataEx)
  941. DLOENTRY(62,ServerClearStockObjects)
  942. DLOENTRY(63,MarkSection)
  943. };
  944. DEFINE_ORDINAL_MAP(uxtheme)
  945. //
  946. // !! WARNING !! The entries below must be in alphabetical order, and are CASE SENSITIVE (eg lower case comes last!)
  947. //
  948. DEFINE_PROCNAME_ENTRIES(uxtheme) // PUBLIC functions
  949. {
  950. DLPENTRY(CloseThemeData)
  951. DLPENTRY(DrawThemeBackground)
  952. DLPENTRY(DrawThemeEdge)
  953. DLPENTRY(DrawThemeIcon)
  954. DLPENTRY(DrawThemeParentBackground)
  955. DLPENTRY(DrawThemeText)
  956. DLPENTRY(EnableThemeDialogTexture)
  957. DLPENTRY(EnableTheming)
  958. DLPENTRY(GetCurrentThemeName)
  959. DLPENTRY(GetThemeAppProperties)
  960. DLPENTRY(GetThemeBackgroundContentRect)
  961. DLPENTRY(GetThemeBackgroundExtent)
  962. DLPENTRY(GetThemeBackgroundRegion)
  963. DLPENTRY(GetThemeBool)
  964. DLPENTRY(GetThemeColor)
  965. DLPENTRY(GetThemeDocumentationProperty)
  966. DLPENTRY(GetThemeEnumValue)
  967. DLPENTRY(GetThemeFilename)
  968. DLPENTRY(GetThemeFont)
  969. DLPENTRY(GetThemeInt)
  970. DLPENTRY(GetThemeIntList)
  971. DLPENTRY(GetThemeMargins)
  972. DLPENTRY(GetThemeMetric)
  973. DLPENTRY(GetThemePartSize)
  974. DLPENTRY(GetThemePosition)
  975. DLPENTRY(GetThemePropertyOrigin)
  976. DLPENTRY(GetThemeRect)
  977. DLPENTRY(GetThemeString)
  978. DLPENTRY(GetThemeSysBool)
  979. DLPENTRY(GetThemeSysColor)
  980. DLPENTRY(GetThemeSysColorBrush)
  981. DLPENTRY(GetThemeSysFont)
  982. DLPENTRY(GetThemeSysInt)
  983. DLPENTRY(GetThemeSysSize)
  984. DLPENTRY(GetThemeSysString)
  985. DLPENTRY(GetThemeTextExtent)
  986. DLPENTRY(GetThemeTextMetrics)
  987. DLPENTRY(GetWindowTheme)
  988. DLPENTRY(HitTestThemeBackground)
  989. DLPENTRY(IsAppThemed)
  990. DLPENTRY(IsThemeActive)
  991. DLPENTRY(IsThemeBackgroundPartiallyTransparent)
  992. DLPENTRY(IsThemeDialogTextureEnabled)
  993. DLPENTRY(IsThemePartDefined)
  994. DLPENTRY(OpenThemeData)
  995. DLPENTRY(SetThemeAppProperties)
  996. DLPENTRY(SetWindowTheme)
  997. };
  998. DEFINE_PROCNAME_MAP(uxtheme)