//************************************************************* // // profile.idl // // Definition of IUserProfile interface. // // History: // // Created weiruc 6/9/2000 // // Microsoft Confidential // Copyright (c) Microsoft Corporation 2000 // All rights reserved // //************************************************************* // // IUserProfile loads and unloads a user's profile. // [ uuid(326731e3-c1c0-4a69-ae20-7d9044a4ea5c), version(1.0), pointer_default(unique) ] interface IUserProfile { import "import.idl"; import "profinfo.h"; typedef [context_handle] void *PCONTEXT_HANDLE; typedef [ref] PCONTEXT_HANDLE *PPCONTEXT_HANDLE; DWORD DropClientContext([in] handle_t hBindHandle, [in, unique] LPPROFILEINFO pProfileInfo, [out] PPCONTEXT_HANDLE pphContext); DWORD LoadUserProfileI([in] handle_t hBindHandle, [in, unique] LPPROFILEINFO pProfileInfo, [in] PCONTEXT_HANDLE phContext, [in, string, unique] LPTSTR lpRPCEndPoint); DWORD UnloadUserProfileI([in] handle_t hBindHandle, [in] PCONTEXT_HANDLE phContext, [in, string, unique] LPTSTR lpRPCEndPoint); void ReleaseClientContext([in] handle_t hBindHandle, [in, out] PPCONTEXT_HANDLE pphContext); DWORD EnterUserProfileLockRemote([in] handle_t hBindHandle, [in, string] LPTSTR pSid); DWORD LeaveUserProfileLockRemote([in] handle_t hBindHandle, [in, string] LPTSTR pSid); } // // IProfileDialog provides interface for reporting error on client desktop // All the interface functions implemented as async rpc // [ uuid(4825ea41-51e3-4c2a-8406-8f2d2698395f), version(1.0), pointer_default(unique) ] interface IProfileDialog { import "import.idl"; import "profinfo.h"; void ErrorDialog([in] handle_t hBindHandle, [in] DWORD dwTimeOut, [in, string] LPTSTR lpErrMsg); void SlowLinkDialog([in] handle_t hBindHandle, [in] DWORD dwTimeOut, [in] BOOL bDefault, [out] BOOL *bpResponse, [in] BOOL bDlgLogin); }