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.

272 lines
4.2 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. stiapi.h
  5. Abstract:
  6. Prototypes for RPC based interface between client and server
  7. sides of STI
  8. Author:
  9. Vlad Sadovsky (vlads) 26-Jan-1997
  10. Revision History:
  11. 26-Jan-1997 VladS created
  12. --*/
  13. #ifndef _STIAPI_H_
  14. #define _STIAPI_h_
  15. # ifdef __cplusplus
  16. extern "C" {
  17. # endif // __cplusplus
  18. #ifndef STI_DEVICE_HANDLE
  19. typedef HANDLE STI_DEVICE_HANDLE;
  20. #endif
  21. //
  22. // Custom STI monitor messages. Used by monitor internally or
  23. // by control panel in cases when we don't want to use RPC APIs
  24. //
  25. #define STIMON_WINDOW_CLASS TEXT("STIExe_Window_Class")
  26. #define STISVC_WINDOW_CLASS TEXT("STISvcHiddenWindow")
  27. #define STIMON_MSG_REFRESH WM_USER+201
  28. #define STIMON_MSG_ADD_DEVICE WM_USER+202
  29. #define STIMON_MSG_REMOVE_DEVICE WM_USER+203
  30. #define STIMON_MSG_SET_PARAMETERS WM_USER+204
  31. #define STIMON_MSG_LOG_MESSAGE WM_USER+205
  32. #define STIMON_MSG_VISUALIZE WM_USER+206
  33. #define STIMON_MSG_ENABLE_NOTIFICATIONS WM_USER+207
  34. //
  35. // Subcommand values for main message
  36. // Passed via wParam ( should fit WORD)
  37. //
  38. #define STIMON_MSG_SET_TIMEOUT 1
  39. #define STIMON_MSG_REFRESH_REREAD 2
  40. #define STIMON_MSG_REFRESH_SUSPEND 3
  41. #define STIMON_MSG_REFRESH_RESUME 4
  42. #define STIMON_MSG_REFRESH_SET_FLAG 5
  43. #define STIMON_MSG_REFRESH_CLEAR_FLAG 6
  44. #define STIMON_MSG_REFRESH_PURGE 7
  45. #define STIMON_MSG_REFRESH_DEV_INFO 8
  46. #define STIMON_MSG_NOTIF_ENABLE 1
  47. #define STIMON_MSG_NOTIF_DISABLE 2
  48. #define STIMON_MSG_NOTIF_QUERY 3
  49. #define STIMON_MSG_NOTIF_SET_INACTIVE 5
  50. //
  51. // Bit flags for refresh message
  52. // Passed via lParam ( should fit WORD)
  53. //
  54. #define STIMON_MSG_REFRESH_NEW 0x0001
  55. #define STIMON_MSG_REFRESH_EXISTING 0x0002
  56. #define STIMON_MSG_PURGE_REMOVED 0x0004
  57. #define STIMON_MSG_BOOT 0x0008
  58. //
  59. DWORD
  60. RpcStiApiGetVersion(
  61. LPCWSTR pszServer,
  62. DWORD dwReserved,
  63. DWORD *pdwVersion
  64. );
  65. DWORD
  66. WINAPI
  67. RpcStiApiOpenDevice(
  68. IN LPCWSTR pszServer,
  69. IN LPCWSTR pdeviceName,
  70. IN DWORD dwMode,
  71. IN DWORD dwAccessRequired,
  72. IN DWORD dwProcessId,
  73. OUT STI_DEVICE_HANDLE *pHandle
  74. );
  75. DWORD
  76. WINAPI
  77. RpcStiApiCloseDevice(
  78. IN LPCWSTR pszServer,
  79. IN STI_DEVICE_HANDLE hDevice
  80. );
  81. DWORD
  82. WINAPI
  83. RpcStiApiSubscribe(
  84. IN STI_DEVICE_HANDLE Handle,
  85. IN LPSTISUBSCRIBE lpSubscribe
  86. );
  87. DWORD
  88. WINAPI
  89. RpcStiApiGetLastNotificationData(
  90. IN STI_DEVICE_HANDLE Handle,
  91. OUT LPSTINOTIFY lpNotify
  92. );
  93. DWORD
  94. WINAPI
  95. RpcStiApiUnSubscribe(
  96. IN STI_DEVICE_HANDLE Handle
  97. );
  98. DWORD
  99. WINAPI
  100. RpcStiApiEnableHwNotifications(
  101. IN LPCWSTR pszServer,
  102. IN LPCWSTR pdeviceName,
  103. IN BOOL bNewState
  104. ) ;
  105. DWORD
  106. WINAPI
  107. RpcStiApiGetHwNotificationState(
  108. IN LPCWSTR pszServer,
  109. IN LPCWSTR pdeviceName,
  110. OUT LPDWORD pState
  111. );
  112. DWORD
  113. WINAPI
  114. RpcStiApiLaunchApplication(
  115. IN LPCWSTR pszServer,
  116. IN LPCWSTR pdeviceName,
  117. IN LPCWSTR pAppName,
  118. IN LPSTINOTIFY pStiNotify
  119. );
  120. DWORD
  121. WINAPI
  122. RpcStiApiLockDevice(
  123. IN LPCWSTR pdeviceName,
  124. IN DWORD dwWait,
  125. IN BOOL bInServerProcess
  126. );
  127. DWORD
  128. WINAPI
  129. RpcStiApiUnlockDevice(
  130. IN LPCWSTR pdeviceName,
  131. IN BOOL bInServerProcess
  132. );
  133. ///////////////////////////////////////////////////////////////
  134. DWORD
  135. RpcStiApiRegisterDeviceNotification(
  136. );
  137. DWORD
  138. RpcStiApiUnregisterDeviceNotification(
  139. );
  140. DWORD
  141. RpcStiApiGetDeviceNotification(
  142. );
  143. DWORD
  144. RpcStiApiEnableDeviceNotifications(
  145. BOOL fEnable
  146. );
  147. DWORD
  148. RpcStiApiEnumerateDevices(
  149. );
  150. DWORD
  151. RpcStiApiReadDeviceData(
  152. );
  153. DWORD
  154. RpcStiApiWriteDeviceData(
  155. );
  156. DWORD
  157. RpcStiApiReadDeviceCommand(
  158. );
  159. DWORD
  160. RpcStiApiWriteDeviceCommand(
  161. );
  162. DWORD
  163. RpcStiApiReadDeviceValue(
  164. );
  165. DWORD
  166. RpcStiApiWriteDeviceValue(
  167. );
  168. DWORD
  169. RpcStiApiDeviceEscape(
  170. );
  171. DWORD
  172. RpcStiApiGetDeviceStatus(
  173. );
  174. DWORD
  175. RpcStiApiGetDeviceLastError(
  176. );
  177. DWORD
  178. RpcStiApiResetDevice(
  179. );
  180. VOID
  181. WINAPI
  182. MigrateRegisteredSTIAppsForWIAEvents(
  183. HWND hWnd,
  184. HINSTANCE hInst,
  185. PTSTR pszCommandLine,
  186. INT iParam
  187. );
  188. # ifdef __cplusplus
  189. };
  190. # endif // __cplusplus
  191. #endif // _STIAPI_H_