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.

84 lines
2.5 KiB

  1. //*************************************************************
  2. //
  3. // profile.idl
  4. //
  5. // Definition of IUserProfile interface.
  6. //
  7. // History:
  8. //
  9. // Created weiruc 6/9/2000
  10. //
  11. // Microsoft Confidential
  12. // Copyright (c) Microsoft Corporation 2000
  13. // All rights reserved
  14. //
  15. //*************************************************************
  16. //
  17. // IUserProfile loads and unloads a user's profile.
  18. //
  19. [
  20. uuid(326731e3-c1c0-4a69-ae20-7d9044a4ea5c),
  21. version(1.0),
  22. pointer_default(unique)
  23. ]
  24. interface IUserProfile
  25. {
  26. import "import.idl";
  27. import "profinfo.h";
  28. typedef [context_handle] void *PCONTEXT_HANDLE;
  29. typedef [ref] PCONTEXT_HANDLE *PPCONTEXT_HANDLE;
  30. DWORD DropClientContext([in] handle_t hBindHandle,
  31. [in, unique] LPPROFILEINFO pProfileInfo,
  32. [out] PPCONTEXT_HANDLE pphContext);
  33. DWORD LoadUserProfileI([in] handle_t hBindHandle,
  34. [in, unique] LPPROFILEINFO pProfileInfo,
  35. [in] PCONTEXT_HANDLE phContext,
  36. [in, string, unique] LPTSTR lpRPCEndPoint);
  37. DWORD UnloadUserProfileI([in] handle_t hBindHandle,
  38. [in] PCONTEXT_HANDLE phContext,
  39. [in, string, unique] LPTSTR lpRPCEndPoint);
  40. void ReleaseClientContext([in] handle_t hBindHandle,
  41. [in, out] PPCONTEXT_HANDLE pphContext);
  42. DWORD EnterUserProfileLockRemote([in] handle_t hBindHandle,
  43. [in, string] LPTSTR pSid);
  44. DWORD LeaveUserProfileLockRemote([in] handle_t hBindHandle,
  45. [in, string] LPTSTR pSid);
  46. }
  47. //
  48. // IProfileDialog provides interface for reporting error on client desktop
  49. // All the interface functions implemented as async rpc
  50. //
  51. [
  52. uuid(4825ea41-51e3-4c2a-8406-8f2d2698395f),
  53. version(1.0),
  54. pointer_default(unique)
  55. ]
  56. interface IProfileDialog {
  57. import "import.idl";
  58. import "profinfo.h";
  59. void ErrorDialog([in] handle_t hBindHandle,
  60. [in] DWORD dwTimeOut,
  61. [in, string] LPTSTR lpErrMsg);
  62. void SlowLinkDialog([in] handle_t hBindHandle,
  63. [in] DWORD dwTimeOut,
  64. [in] BOOL bDefault,
  65. [out] BOOL *bpResponse,
  66. [in] BOOL bDlgLogin);
  67. }