Leaked source code of windows server 2003
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.

122 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. sti.idl
  5. Abstract:
  6. Contains the Stii Image Input R_StiApi API definitions
  7. Also contains the R_StiApi specific data structures for these API.
  8. Author:
  9. Vlad Sadovsky (vlads) 10-Jan-1997
  10. Environment:
  11. User Mode - Win32 - MIDL
  12. Revision History:
  13. 26-Jan-1997 VladS created
  14. --*/
  15. //
  16. // Interface Attributes
  17. //
  18. [
  19. uuid(8C7A6DE0-788D-11D0-9EDF-444553540000),
  20. version(2.0),
  21. #ifdef __midl
  22. ms_union,
  23. #endif // __midl
  24. pointer_default(unique)
  25. ]
  26. //
  27. // Interface Keyword
  28. //
  29. interface stiapi
  30. //
  31. // Interface Body
  32. //
  33. {
  34. import "imports.idl";
  35. //
  36. // ---------------------------------------------------------------//
  37. //
  38. typedef [handle] LPCWSTR STI_STRING_HANDLE;
  39. typedef [context_handle] HANDLE STI_DEVICE_HANDLE;
  40. typedef struct _NOTIFY_DATA_CONTAINER {
  41. DWORD cbNotifyData;
  42. [size_is(cbNotifyData), unique] LPBYTE pNotifyData;
  43. } NOTIFY_DATA_CONTAINER, *PNOTIFY_DATA_CONTAINER, *LPNOTIFY_DATA_CONTAINER;
  44. typedef struct _LOCAL_SUBSCRIBE_CONTAINER {
  45. DWORD dwSize;
  46. DWORD dwFlags;
  47. DWORD dwFilter;
  48. DWORD dwLocalWindowHandle;
  49. DWORD dwLocalEventHandle;
  50. UINT uiNotificationMessage;
  51. } LOCAL_SUBSCRIBE_CONTAINER, *PLOCAL_SUBSCRIBE_CONTAINER;
  52. DWORD
  53. R_StiApiOpenDevice(
  54. [in, string, unique] STI_STRING_HANDLE pszServer,
  55. [in, string, unique] STI_STRING_HANDLE pdeviceName,
  56. [in] DWORD dwMode,
  57. [in] DWORD dwAccessRequired,
  58. [in] DWORD dwProcessId,
  59. [out] STI_DEVICE_HANDLE *pHandle
  60. );
  61. DWORD
  62. R_StiApiCloseDevice(
  63. [in, string, unique] STI_STRING_HANDLE pszServer,
  64. [in] STI_DEVICE_HANDLE hDevice
  65. );
  66. DWORD
  67. R_StiApiGetVersion(
  68. [in, string, unique] STI_STRING_HANDLE pszServer,
  69. [in] DWORD dwReserved,
  70. [out] DWORD *pdwVersion
  71. );
  72. DWORD
  73. R_StiApiSubscribe(
  74. [in] STI_DEVICE_HANDLE Handle,
  75. [in,ref,unique] LOCAL_SUBSCRIBE_CONTAINER *lpSubscribe
  76. );
  77. DWORD
  78. R_StiApiGetLastNotificationData(
  79. [in] STI_DEVICE_HANDLE Handle,
  80. [out, size_is(nSize)] LPBYTE pData,
  81. [in] DWORD nSize,
  82. [out] LPDWORD pcbNeeded
  83. );
  84. DWORD
  85. R_StiApiUnSubscribe(
  86. [in] STI_DEVICE_HANDLE Handle
  87. );
  88. };