Windows NT 4.0 source code leak
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.

160 lines
5.1 KiB

4 years ago
  1. /*****************************************************************************\
  2. *
  3. * WINSRV.H
  4. *
  5. * This file contains interface definitions for functions shared within the
  6. * winsrv.dll module on the server side.
  7. *
  8. * 12-10-93 SanfordS Created
  9. \*****************************************************************************/
  10. //
  11. // USER and GDI use FASTCALL functions
  12. //
  13. #ifndef FASTCALL
  14. #if defined(_X86_)
  15. #define FASTCALL __fastcall
  16. #else
  17. #define FASTCALL
  18. #endif
  19. #endif
  20. //
  21. // Device Lock structure
  22. //
  23. typedef PRTL_CRITICAL_SECTION PDEVICE_LOCK;
  24. HDEV hdevOpenDisplayDevice(
  25. PWSZ pwszDriver, // The device driver name.
  26. PDEVMODEW pdriv, // Driver data.
  27. HANDLE hScreen, // Handle to the base driver.
  28. BOOL bDefaultDisplay, // Is this the default display device.
  29. PDEVICE_LOCK *devLock); // Pointer to a variable for the semaphore pointer
  30. LBOOL APIENTRY bCloseDisplayDevice(HDEV hdev);
  31. BOOL APIENTRY bDisableDisplay(HDEV hdev);
  32. VOID APIENTRY vEnableDisplay(HDEV hdev);
  33. VOID APIENTRY GreLockDisplay(PDEVICE_LOCK devlock);
  34. VOID APIENTRY GreUnlockDisplay(PDEVICE_LOCK devlock);
  35. LBOOL APIENTRY GreLoadLayeredDisplayDriver(PWSZ pwszDriver);
  36. HDC APIENTRY hdcOpenDisplayDC(HDEV hdev,ULONG iType);
  37. ULONG APIENTRY GreGetResourceId(HDEV, ULONG, ULONG);
  38. BOOL APIENTRY bSetDevDragRect(HDEV, RECTL*, RECTL *);
  39. BOOL APIENTRY bSetDevDragWidth(HDEV, ULONG);
  40. BOOL APIENTRY bMoveDevDragRect(HDEV, RECTL*);
  41. typedef struct _CURSINFO /* ci */
  42. {
  43. SHORT xHotspot;
  44. SHORT yHotspot;
  45. HBITMAP hbmMask; // AND/XOR bits
  46. HBITMAP hbmColor;
  47. FLONG flMode;
  48. } CURSINFO, *PCURSINFO;
  49. ULONG APIENTRY GreGetDriverModes(PWSZ pwszDriver, HANDLE hDriver, ULONG cjSize, DEVMODEW *pdm);
  50. ULONG APIENTRY GreSaveScreenBits(HDEV hdev, ULONG iMode, ULONG iIdent, RECTL *prcl);
  51. VOID APIENTRY GreSetPointer(HDEV hdev,PCURSINFO pci,ULONG fl);
  52. VOID APIENTRY GreMovePointer(HDEV hdev,int x,int y);
  53. /*
  54. * ----------------------- From usersrvl.lib module ------------------------
  55. */
  56. /*
  57. * FastProfile APIs
  58. */
  59. typedef struct tagPROFINTINFO {
  60. UINT idSection;
  61. LPWSTR lpKeyName;
  62. DWORD nDefault;
  63. PUINT puResult;
  64. } PROFINTINFO, *PPROFINTINFO;
  65. int GetIntFromProfileID(int KeyID, int def);
  66. UINT UT_GetProfileStringW(LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault,
  67. LPWSTR lpReturnedString, DWORD nSize);
  68. UINT UT_GetProfileIntW(LPCWSTR lpAppName, LPCWSTR lpKeyName, DWORD nDefault);
  69. BOOL GetProfileIntsW(PPROFINTINFO ppii);
  70. #define PMAP_ROOT 0
  71. #define PMAP_COLORS 1
  72. #define PMAP_CURSORS 2
  73. #define PMAP_WINDOWSM 3
  74. #define PMAP_WINDOWSU 4
  75. #define PMAP_DESKTOP 5
  76. #define PMAP_ICONS 6
  77. #define PMAP_FONTS 7
  78. #define PMAP_BOOT 8
  79. #define PMAP_TRUETYPE 9
  80. #define PMAP_KBDLAYOUTACTIVE 10
  81. #define PMAP_KBDLAYOUT 11
  82. #define PMAP_SOUNDS 12
  83. #define PMAP_INPUT 13
  84. #define PMAP_COMPAT 14
  85. #define PMAP_SUBSYSTEMS 15
  86. #define PMAP_DSPDRIVER 16
  87. #define PMAP_PRICONTROL 17
  88. #define PMAP_FONTSUBS 18
  89. #define PMAP_GREINIT 19
  90. #define PMAP_BEEP 20
  91. #define PMAP_MOUSE 21
  92. #define PMAP_KEYBOARD 22
  93. #define PMAP_FONTDPI 23
  94. #define PMAP_HARDERRORCONTROL 24
  95. #define PMAP_STICKYKEYS 25
  96. #define PMAP_KEYBOARDRESPONSE 26
  97. #define PMAP_MOUSEKEYS 27
  98. #define PMAP_TOGGLEKEYS 28
  99. #define PMAP_TIMEOUT 29
  100. #define PMAP_SOUNDSENTRY 30
  101. #define PMAP_SHOWSOUNDS 31
  102. #define PMAP_KBDLAYOUTSUBST 32
  103. #define PMAP_AEDEBUG 33
  104. #define PMAP_NETWORK 34
  105. #define PMAP_LSA 35
  106. #define PMAP_CONTROL 36
  107. #if (WINVER >= 0x0400)
  108. #define PMAP_METRICS 37
  109. #define PMAP_KBDLAYOUTTOGGLE 38
  110. #define PMAP_LAST 38
  111. #else
  112. #define PMAP_LAST 36
  113. #endif
  114. typedef struct tagFASTREGMAP {
  115. HANDLE hKeyCache;
  116. LPWSTR szSection;
  117. WORD wType;
  118. } FASTREGMAP, *PFASTREGMAP;
  119. BOOL OpenCacheKey(UINT idSection, ACCESS_MASK amRequest);
  120. BOOL FastOpenProfileUserMapping(void);
  121. BOOL FastCloseProfileUserMapping(void);
  122. DWORD FastGetProfileDwordW(UINT idSection, LPCWSTR lpKeyName, DWORD dwDefault);
  123. DWORD FastGetProfileStringW(UINT idSection, LPCWSTR lpKeyName, LPCWSTR lpDefault,
  124. LPWSTR lpReturnedString, DWORD nSize);
  125. UINT FastGetProfileIntW(UINT idSection, LPCWSTR lpKeyName, UINT nDefault);
  126. DWORD FastGetProfileDataSizeW(UINT idSection, LPCWSTR lpKeyName);
  127. BOOL FastWriteProfileStringW(UINT idSection, LPCWSTR lpKeyName, LPCWSTR lpString);
  128. int FastGetProfileIntFromID(UINT idSection, int KeyID, int def);
  129. DWORD FastGetProfileStringFromIDW(UINT idSection, UINT idKey, LPCWSTR lpDefault,
  130. LPWSTR lpReturnedString, DWORD cch);
  131. UINT UT_FastGetProfileStringW(UINT idSection, LPCWSTR pwszKey, LPCWSTR pwszDefault,
  132. LPWSTR pwszReturn, DWORD cch);
  133. UINT UT_FastWriteProfileStringW(UINT idSection, LPCWSTR pwszKey, LPCWSTR pwszString);
  134. UINT UT_FastGetProfileIntW(UINT idSection, LPCWSTR lpKeyName, DWORD nDefault);
  135. BOOL UT_FastGetProfileIntsW(PPROFINTINFO ppii);
  136. BOOL UT_FastUpdateWinIni(UINT idSection, UINT wKeyNameId, LPWSTR lpszValue);