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.

105 lines
2.9 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Copyright 2001 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // Contents: Messenger platform lock interfaces
  6. //
  7. //----------------------------------------------------------------------------
  8. #ifdef __MKTYPLIB__
  9. #define VARIANT_BOOL boolean
  10. #else // __MKTYPLIB__
  11. cpp_quote("//+-------------------------------------------------------------------------")
  12. cpp_quote("//")
  13. cpp_quote("// Microsoft Windows")
  14. cpp_quote("// Copyright 1997 Microsoft Corporation. All Rights Reserved.")
  15. cpp_quote("//")
  16. cpp_quote("// File: lock.h")
  17. cpp_quote("//")
  18. cpp_quote("//--------------------------------------------------------------------------")
  19. import "objidl.idl";
  20. import "oleidl.idl";
  21. import "oaidl.idl";
  22. import "lock.idl";
  23. #endif // __MKTYPLIB__
  24. #include "mdispid.h"
  25. #ifdef __MKTYPLIB__
  26. //--------------------------------------------------------------------------
  27. // Type Library
  28. [
  29. uuid(B2973F5E-C33E-4C94-8989-221CEEB8DC23), // LIBID_MsgrLock
  30. version(1.0),
  31. helpstring("Messenger Platform Lock Type Library")
  32. ]
  33. library MsgrLock
  34. {
  35. importlib("stdole32.tlb");
  36. #endif // __MKTYPLIB__
  37. interface IMsgrLock;
  38. #define LOCK_E(e) (0x81000700 + (e))
  39. typedef enum
  40. {
  41. MSGR_E_API_NOTINITIALIZED = LOCK_E(0x0051),
  42. MSGR_E_API_LOCKED = LOCK_E(0x0052),
  43. MSGR_E_API_UNLOCK_FAILED = LOCK_E(0x0053),
  44. MSGR_E_API_ALREADY_UNLOCKED = LOCK_E(0x0054),
  45. MSGR_E_API_PENDING_UNLOCK = LOCK_E(0x0055),
  46. MSGR_E_API_DISABLED = LOCK_E(0x0056),
  47. } LockError;
  48. typedef enum
  49. {
  50. LOCK_NOTINITIALIZED = 0x00000001,
  51. LOCK_INITIALIZED = 0x00000002,
  52. LOCK_PENDINGRESULT = 0x00000003,
  53. LOCK_UNLOCKED = 0x00000004,
  54. LOCK_UNLOCKFAILED = 0x00000005,
  55. LOCK_DISABLED = 0x00000006,
  56. } LockStatus;
  57. //------------------------------------------------------------------------------
  58. // IMsgrLock
  59. [
  60. uuid(36602AFA-4859-4DF5-820B-BF35ACAA16CA), // IID_IMsgrLock
  61. helpstring("Messenger Lock and Key Interface"),
  62. helpcontext(0x0000),
  63. oleautomation
  64. ]
  65. interface IMsgrLock : IUnknown
  66. {
  67. [propget, helpstring("Returns the lock and key status"), helpcontext(0x0000)]
  68. HRESULT Status(
  69. [out, retval] LockStatus *peStatus);
  70. [id(137), helpstring("Request lock and key challenge."), helpcontext(0x0000)]
  71. HRESULT RequestChallenge(
  72. [in] long lCookie);
  73. [id(138), helpstring("Send lock and key response."), helpcontext(0x0000)]
  74. HRESULT SendResponse(
  75. [in] BSTR bstrAppStrId,
  76. [in] BSTR bstrResponse,
  77. [in] long lCookie);
  78. }
  79. #ifndef __MKTYPLIB__
  80. //--------------------------------------------------------------------------
  81. // Type Library
  82. [
  83. uuid(B2973F5E-C33E-4C94-8989-221CEEB8DC23), // LIBID_MsgrLock
  84. version(1.0),
  85. helpstring("Messenger Platform Lock Type Library")
  86. ]
  87. library MsgrLock
  88. {
  89. importlib("stdole32.tlb");
  90. #endif // __MKTYPLIB__
  91. };
  92. /* end */