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.

1340 lines
39 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for msident.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __msident_h__
  27. #define __msident_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IUserIdentity_FWD_DEFINED__
  33. #define __IUserIdentity_FWD_DEFINED__
  34. typedef interface IUserIdentity IUserIdentity;
  35. #endif /* __IUserIdentity_FWD_DEFINED__ */
  36. #ifndef __IEnumUserIdentity_FWD_DEFINED__
  37. #define __IEnumUserIdentity_FWD_DEFINED__
  38. typedef interface IEnumUserIdentity IEnumUserIdentity;
  39. #endif /* __IEnumUserIdentity_FWD_DEFINED__ */
  40. #ifndef __IUserIdentityManager_FWD_DEFINED__
  41. #define __IUserIdentityManager_FWD_DEFINED__
  42. typedef interface IUserIdentityManager IUserIdentityManager;
  43. #endif /* __IUserIdentityManager_FWD_DEFINED__ */
  44. #ifndef __IIdentityChangeNotify_FWD_DEFINED__
  45. #define __IIdentityChangeNotify_FWD_DEFINED__
  46. typedef interface IIdentityChangeNotify IIdentityChangeNotify;
  47. #endif /* __IIdentityChangeNotify_FWD_DEFINED__ */
  48. #ifndef __IPrivateIdentityManager_FWD_DEFINED__
  49. #define __IPrivateIdentityManager_FWD_DEFINED__
  50. typedef interface IPrivateIdentityManager IPrivateIdentityManager;
  51. #endif /* __IPrivateIdentityManager_FWD_DEFINED__ */
  52. #ifndef __IPrivateIdentityManager2_FWD_DEFINED__
  53. #define __IPrivateIdentityManager2_FWD_DEFINED__
  54. typedef interface IPrivateIdentityManager2 IPrivateIdentityManager2;
  55. #endif /* __IPrivateIdentityManager2_FWD_DEFINED__ */
  56. #ifndef __IUserIdentity2_FWD_DEFINED__
  57. #define __IUserIdentity2_FWD_DEFINED__
  58. typedef interface IUserIdentity2 IUserIdentity2;
  59. #endif /* __IUserIdentity2_FWD_DEFINED__ */
  60. /* header files for imported files */
  61. #include "unknwn.h"
  62. #include "ocidl.h"
  63. #ifdef __cplusplus
  64. extern "C"{
  65. #endif
  66. void * __RPC_USER MIDL_user_allocate(size_t);
  67. void __RPC_USER MIDL_user_free( void * );
  68. /* interface __MIDL_itf_msident_0000 */
  69. /* [local] */
  70. //=--------------------------------------------------------------------------=
  71. // msident.h
  72. //=--------------------------------------------------------------------------=
  73. // Copyright (c) Microsoft Corporation. All rights reserved.
  74. //
  75. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  76. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  77. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  78. // PARTICULAR PURPOSE.
  79. //=--------------------------------------------------------------------------=
  80. #pragma comment(lib,"uuid.lib")
  81. //---------------------------------------------------------------------------=
  82. // Lightweight User Profile Interfaces.
  83. // --------------------------------------------------------------------------------
  84. // GUIDS
  85. // --------------------------------------------------------------------------------
  86. // {A9AE6C91-1D1B-11D2-B21A-00C04FA357FA}
  87. DEFINE_GUID(CLSID_UserIdentityManager, 0xa9ae6C91, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  88. // {A9AE6C8E-1D1B-11D2-B21A-00C04FA357FA}
  89. DEFINE_GUID(IID_IUserIdentity, 0xa9ae6C8e, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  90. // {A9AE6C8F-1D1B-11D2-B21A-00C04FA357FA}
  91. DEFINE_GUID(IID_IEnumUserIdentity, 0xa9ae6C8f, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  92. // {A9AE6C90-1D1B-11D2-B21A-00C04FA357FA}
  93. DEFINE_GUID(IID_IUserIdentityManager, 0xa9ae6C90, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  94. // {A9AE6C92-1D1B-11D2-B21A-00C04FA357FA}
  95. DEFINE_GUID(IID_IIdentityChangeNotify, 0xa9ae6C92, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  96. // {A9AE6C93-1D1B-11D2-B21A-00C04FA357FA}
  97. DEFINE_GUID(IID_IPrivateIdentityManager, 0xa9ae6C93, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  98. // {A9AE6C94-1D1B-11D2-B21A-00C04FA357FA}
  99. DEFINE_GUID(IID_IUserIdentity2, 0xa9ae6C94, 0x1d1b, 0x11d2, 0xb2, 0x1a, 0x0, 0xc0, 0x4f, 0xa3, 0x57, 0xfa);
  100. // {47172E6C-EA67-4ccd-B5CE-2EABBE051404}
  101. DEFINE_GUID(IID_IPrivateIdentityManager2, 0x47172e6c, 0xea67, 0x4ccd, 0xb5, 0xce, 0x2e, 0xab, 0xbe, 0x5, 0x14, 0x4);
  102. // {C28E26E6-219D-11d2-B200-0000F8085266}
  103. DEFINE_GUID(UID_GIBC_DEFAULT_USER, 0xc28e26e6, 0x219d, 0x11d2, 0xb2, 0x0, 0x0, 0x0, 0xf8, 0x8, 0x52, 0x66);
  104. // {C28E26E7-219D-11d2-B200-0000F8085266}
  105. DEFINE_GUID(UID_GIBC_CURRENT_USER, 0xc28e26e7, 0x219d, 0x11d2, 0xb2, 0x0, 0x0, 0x0, 0xf8, 0x8, 0x52, 0x66);
  106. // {C28E26E8-219D-11d2-B200-0000F8085266}
  107. DEFINE_GUID(UID_GIBC_OUTGOING_USER, 0xc28e26e8, 0x219d, 0x11d2, 0xb2, 0x0, 0x0, 0x0, 0xf8, 0x8, 0x52, 0x66);
  108. // {C28E26E9-219D-11d2-B200-0000F8085266}
  109. DEFINE_GUID(UID_GIBC_INCOMING_USER, 0xc28e26e9, 0x219d, 0x11d2, 0xb2, 0x0, 0x0, 0x0, 0xf8, 0x8, 0x52, 0x66);
  110. // --------------------------------------------------------------------------------
  111. // ERROR CODES
  112. // --------------------------------------------------------------------------------
  113. #define E_IDENTITIES_DISABLED _HRESULT_TYPEDEF_(0x80007110L)
  114. #define S_IDENTITIES_DISABLED _HRESULT_TYPEDEF_(0x00007110L)
  115. #define E_NO_CURRENT_IDENTITY _HRESULT_TYPEDEF_(0x80007111L)
  116. #define E_USER_CANCELLED _HRESULT_TYPEDEF_(0x80007112L)
  117. #define E_PROCESS_CANCELLED_SWITCH _HRESULT_TYPEDEF_(0x80007113L)
  118. #define E_IDENTITY_NOT_FOUND _HRESULT_TYPEDEF_(0x80007114L)
  119. #define E_IDENTITY_EXISTS _HRESULT_TYPEDEF_(0x80007115L)
  120. #define E_IDENTITY_CHANGING _HRESULT_TYPEDEF_(0x80007116L)
  121. #define CCH_IDENTITY_NAME_MAX_LENGTH (63)
  122. extern RPC_IF_HANDLE __MIDL_itf_msident_0000_v0_0_c_ifspec;
  123. extern RPC_IF_HANDLE __MIDL_itf_msident_0000_v0_0_s_ifspec;
  124. #ifndef __IUserIdentity_INTERFACE_DEFINED__
  125. #define __IUserIdentity_INTERFACE_DEFINED__
  126. /* interface IUserIdentity */
  127. /* [object][helpstring][uuid] */
  128. #define GIF_ROAMING_FOLDER 0x00000001
  129. #define GIF_NON_ROAMING_FOLDER 0x00000002
  130. EXTERN_C const IID IID_IUserIdentity;
  131. #if defined(__cplusplus) && !defined(CINTERFACE)
  132. MIDL_INTERFACE("A9AE6C8E-1D1B-11D2-B21A-00C04FA357FA")
  133. IUserIdentity : public IUnknown
  134. {
  135. public:
  136. virtual HRESULT STDMETHODCALLTYPE GetCookie(
  137. /* [out] */ GUID *puidCookie) = 0;
  138. virtual HRESULT STDMETHODCALLTYPE GetName(
  139. /* [in] */ WCHAR *pszName,
  140. /* [in] */ ULONG ulBuffSize) = 0;
  141. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenIdentityRegKey(
  142. /* [in] */ DWORD dwDesiredAccess,
  143. /* [out] */ HKEY *phKey) = 0;
  144. virtual HRESULT STDMETHODCALLTYPE GetIdentityFolder(
  145. /* [in] */ DWORD dwFlags,
  146. /* [in] */ WCHAR *pszPath,
  147. /* [in] */ ULONG ulBuffSize) = 0;
  148. };
  149. #else /* C style interface */
  150. typedef struct IUserIdentityVtbl
  151. {
  152. BEGIN_INTERFACE
  153. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  154. IUserIdentity * This,
  155. /* [in] */ REFIID riid,
  156. /* [iid_is][out] */ void **ppvObject);
  157. ULONG ( STDMETHODCALLTYPE *AddRef )(
  158. IUserIdentity * This);
  159. ULONG ( STDMETHODCALLTYPE *Release )(
  160. IUserIdentity * This);
  161. HRESULT ( STDMETHODCALLTYPE *GetCookie )(
  162. IUserIdentity * This,
  163. /* [out] */ GUID *puidCookie);
  164. HRESULT ( STDMETHODCALLTYPE *GetName )(
  165. IUserIdentity * This,
  166. /* [in] */ WCHAR *pszName,
  167. /* [in] */ ULONG ulBuffSize);
  168. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenIdentityRegKey )(
  169. IUserIdentity * This,
  170. /* [in] */ DWORD dwDesiredAccess,
  171. /* [out] */ HKEY *phKey);
  172. HRESULT ( STDMETHODCALLTYPE *GetIdentityFolder )(
  173. IUserIdentity * This,
  174. /* [in] */ DWORD dwFlags,
  175. /* [in] */ WCHAR *pszPath,
  176. /* [in] */ ULONG ulBuffSize);
  177. END_INTERFACE
  178. } IUserIdentityVtbl;
  179. interface IUserIdentity
  180. {
  181. CONST_VTBL struct IUserIdentityVtbl *lpVtbl;
  182. };
  183. #ifdef COBJMACROS
  184. #define IUserIdentity_QueryInterface(This,riid,ppvObject) \
  185. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  186. #define IUserIdentity_AddRef(This) \
  187. (This)->lpVtbl -> AddRef(This)
  188. #define IUserIdentity_Release(This) \
  189. (This)->lpVtbl -> Release(This)
  190. #define IUserIdentity_GetCookie(This,puidCookie) \
  191. (This)->lpVtbl -> GetCookie(This,puidCookie)
  192. #define IUserIdentity_GetName(This,pszName,ulBuffSize) \
  193. (This)->lpVtbl -> GetName(This,pszName,ulBuffSize)
  194. #define IUserIdentity_OpenIdentityRegKey(This,dwDesiredAccess,phKey) \
  195. (This)->lpVtbl -> OpenIdentityRegKey(This,dwDesiredAccess,phKey)
  196. #define IUserIdentity_GetIdentityFolder(This,dwFlags,pszPath,ulBuffSize) \
  197. (This)->lpVtbl -> GetIdentityFolder(This,dwFlags,pszPath,ulBuffSize)
  198. #endif /* COBJMACROS */
  199. #endif /* C style interface */
  200. HRESULT STDMETHODCALLTYPE IUserIdentity_GetCookie_Proxy(
  201. IUserIdentity * This,
  202. /* [out] */ GUID *puidCookie);
  203. void __RPC_STUB IUserIdentity_GetCookie_Stub(
  204. IRpcStubBuffer *This,
  205. IRpcChannelBuffer *_pRpcChannelBuffer,
  206. PRPC_MESSAGE _pRpcMessage,
  207. DWORD *_pdwStubPhase);
  208. HRESULT STDMETHODCALLTYPE IUserIdentity_GetName_Proxy(
  209. IUserIdentity * This,
  210. /* [in] */ WCHAR *pszName,
  211. /* [in] */ ULONG ulBuffSize);
  212. void __RPC_STUB IUserIdentity_GetName_Stub(
  213. IRpcStubBuffer *This,
  214. IRpcChannelBuffer *_pRpcChannelBuffer,
  215. PRPC_MESSAGE _pRpcMessage,
  216. DWORD *_pdwStubPhase);
  217. /* [local] */ HRESULT STDMETHODCALLTYPE IUserIdentity_OpenIdentityRegKey_Proxy(
  218. IUserIdentity * This,
  219. /* [in] */ DWORD dwDesiredAccess,
  220. /* [out] */ HKEY *phKey);
  221. void __RPC_STUB IUserIdentity_OpenIdentityRegKey_Stub(
  222. IRpcStubBuffer *This,
  223. IRpcChannelBuffer *_pRpcChannelBuffer,
  224. PRPC_MESSAGE _pRpcMessage,
  225. DWORD *_pdwStubPhase);
  226. HRESULT STDMETHODCALLTYPE IUserIdentity_GetIdentityFolder_Proxy(
  227. IUserIdentity * This,
  228. /* [in] */ DWORD dwFlags,
  229. /* [in] */ WCHAR *pszPath,
  230. /* [in] */ ULONG ulBuffSize);
  231. void __RPC_STUB IUserIdentity_GetIdentityFolder_Stub(
  232. IRpcStubBuffer *This,
  233. IRpcChannelBuffer *_pRpcChannelBuffer,
  234. PRPC_MESSAGE _pRpcMessage,
  235. DWORD *_pdwStubPhase);
  236. #endif /* __IUserIdentity_INTERFACE_DEFINED__ */
  237. #ifndef __IEnumUserIdentity_INTERFACE_DEFINED__
  238. #define __IEnumUserIdentity_INTERFACE_DEFINED__
  239. /* interface IEnumUserIdentity */
  240. /* [object][helpstring][uuid] */
  241. EXTERN_C const IID IID_IEnumUserIdentity;
  242. #if defined(__cplusplus) && !defined(CINTERFACE)
  243. MIDL_INTERFACE("A9AE6C8F-1D1B-11D2-B21A-00C04FA357FA")
  244. IEnumUserIdentity : public IUnknown
  245. {
  246. public:
  247. virtual HRESULT STDMETHODCALLTYPE Next(
  248. /* [in] */ ULONG celt,
  249. /* [length_is][size_is][out] */ IUnknown **rgelt,
  250. /* [out] */ ULONG *pceltFetched) = 0;
  251. virtual HRESULT STDMETHODCALLTYPE Skip(
  252. /* [in] */ ULONG celt) = 0;
  253. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  254. virtual HRESULT STDMETHODCALLTYPE Clone(
  255. /* [out] */ IEnumUserIdentity **ppenum) = 0;
  256. virtual HRESULT STDMETHODCALLTYPE GetCount(
  257. /* [out] */ ULONG *pnCount) = 0;
  258. };
  259. #else /* C style interface */
  260. typedef struct IEnumUserIdentityVtbl
  261. {
  262. BEGIN_INTERFACE
  263. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  264. IEnumUserIdentity * This,
  265. /* [in] */ REFIID riid,
  266. /* [iid_is][out] */ void **ppvObject);
  267. ULONG ( STDMETHODCALLTYPE *AddRef )(
  268. IEnumUserIdentity * This);
  269. ULONG ( STDMETHODCALLTYPE *Release )(
  270. IEnumUserIdentity * This);
  271. HRESULT ( STDMETHODCALLTYPE *Next )(
  272. IEnumUserIdentity * This,
  273. /* [in] */ ULONG celt,
  274. /* [length_is][size_is][out] */ IUnknown **rgelt,
  275. /* [out] */ ULONG *pceltFetched);
  276. HRESULT ( STDMETHODCALLTYPE *Skip )(
  277. IEnumUserIdentity * This,
  278. /* [in] */ ULONG celt);
  279. HRESULT ( STDMETHODCALLTYPE *Reset )(
  280. IEnumUserIdentity * This);
  281. HRESULT ( STDMETHODCALLTYPE *Clone )(
  282. IEnumUserIdentity * This,
  283. /* [out] */ IEnumUserIdentity **ppenum);
  284. HRESULT ( STDMETHODCALLTYPE *GetCount )(
  285. IEnumUserIdentity * This,
  286. /* [out] */ ULONG *pnCount);
  287. END_INTERFACE
  288. } IEnumUserIdentityVtbl;
  289. interface IEnumUserIdentity
  290. {
  291. CONST_VTBL struct IEnumUserIdentityVtbl *lpVtbl;
  292. };
  293. #ifdef COBJMACROS
  294. #define IEnumUserIdentity_QueryInterface(This,riid,ppvObject) \
  295. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  296. #define IEnumUserIdentity_AddRef(This) \
  297. (This)->lpVtbl -> AddRef(This)
  298. #define IEnumUserIdentity_Release(This) \
  299. (This)->lpVtbl -> Release(This)
  300. #define IEnumUserIdentity_Next(This,celt,rgelt,pceltFetched) \
  301. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  302. #define IEnumUserIdentity_Skip(This,celt) \
  303. (This)->lpVtbl -> Skip(This,celt)
  304. #define IEnumUserIdentity_Reset(This) \
  305. (This)->lpVtbl -> Reset(This)
  306. #define IEnumUserIdentity_Clone(This,ppenum) \
  307. (This)->lpVtbl -> Clone(This,ppenum)
  308. #define IEnumUserIdentity_GetCount(This,pnCount) \
  309. (This)->lpVtbl -> GetCount(This,pnCount)
  310. #endif /* COBJMACROS */
  311. #endif /* C style interface */
  312. HRESULT STDMETHODCALLTYPE IEnumUserIdentity_Next_Proxy(
  313. IEnumUserIdentity * This,
  314. /* [in] */ ULONG celt,
  315. /* [length_is][size_is][out] */ IUnknown **rgelt,
  316. /* [out] */ ULONG *pceltFetched);
  317. void __RPC_STUB IEnumUserIdentity_Next_Stub(
  318. IRpcStubBuffer *This,
  319. IRpcChannelBuffer *_pRpcChannelBuffer,
  320. PRPC_MESSAGE _pRpcMessage,
  321. DWORD *_pdwStubPhase);
  322. HRESULT STDMETHODCALLTYPE IEnumUserIdentity_Skip_Proxy(
  323. IEnumUserIdentity * This,
  324. /* [in] */ ULONG celt);
  325. void __RPC_STUB IEnumUserIdentity_Skip_Stub(
  326. IRpcStubBuffer *This,
  327. IRpcChannelBuffer *_pRpcChannelBuffer,
  328. PRPC_MESSAGE _pRpcMessage,
  329. DWORD *_pdwStubPhase);
  330. HRESULT STDMETHODCALLTYPE IEnumUserIdentity_Reset_Proxy(
  331. IEnumUserIdentity * This);
  332. void __RPC_STUB IEnumUserIdentity_Reset_Stub(
  333. IRpcStubBuffer *This,
  334. IRpcChannelBuffer *_pRpcChannelBuffer,
  335. PRPC_MESSAGE _pRpcMessage,
  336. DWORD *_pdwStubPhase);
  337. HRESULT STDMETHODCALLTYPE IEnumUserIdentity_Clone_Proxy(
  338. IEnumUserIdentity * This,
  339. /* [out] */ IEnumUserIdentity **ppenum);
  340. void __RPC_STUB IEnumUserIdentity_Clone_Stub(
  341. IRpcStubBuffer *This,
  342. IRpcChannelBuffer *_pRpcChannelBuffer,
  343. PRPC_MESSAGE _pRpcMessage,
  344. DWORD *_pdwStubPhase);
  345. HRESULT STDMETHODCALLTYPE IEnumUserIdentity_GetCount_Proxy(
  346. IEnumUserIdentity * This,
  347. /* [out] */ ULONG *pnCount);
  348. void __RPC_STUB IEnumUserIdentity_GetCount_Stub(
  349. IRpcStubBuffer *This,
  350. IRpcChannelBuffer *_pRpcChannelBuffer,
  351. PRPC_MESSAGE _pRpcMessage,
  352. DWORD *_pdwStubPhase);
  353. #endif /* __IEnumUserIdentity_INTERFACE_DEFINED__ */
  354. #ifndef __IUserIdentityManager_INTERFACE_DEFINED__
  355. #define __IUserIdentityManager_INTERFACE_DEFINED__
  356. /* interface IUserIdentityManager */
  357. /* [object][helpstring][uuid] */
  358. #define UIMI_CREATE_NEW_IDENTITY 0x00000001
  359. #define UIL_FORCE_UI 0x80000001
  360. EXTERN_C const IID IID_IUserIdentityManager;
  361. #if defined(__cplusplus) && !defined(CINTERFACE)
  362. MIDL_INTERFACE("A9AE6C90-1D1B-11D2-B21A-00C04FA357FA")
  363. IUserIdentityManager : public IUnknown
  364. {
  365. public:
  366. virtual HRESULT STDMETHODCALLTYPE EnumIdentities(
  367. /* [out] */ IEnumUserIdentity **ppEnumUser) = 0;
  368. virtual HRESULT STDMETHODCALLTYPE ManageIdentities(
  369. /* [in] */ HWND hwndParent,
  370. /* [in] */ DWORD dwFlags) = 0;
  371. virtual HRESULT STDMETHODCALLTYPE Logon(
  372. /* [in] */ HWND hwndParent,
  373. /* [in] */ DWORD dwFlags,
  374. /* [out] */ IUserIdentity **ppIdentity) = 0;
  375. virtual HRESULT STDMETHODCALLTYPE Logoff(
  376. /* [in] */ HWND hwndParent) = 0;
  377. virtual HRESULT STDMETHODCALLTYPE GetIdentityByCookie(
  378. /* [in] */ GUID *uidCookie,
  379. /* [out] */ IUserIdentity **ppIdentity) = 0;
  380. };
  381. #else /* C style interface */
  382. typedef struct IUserIdentityManagerVtbl
  383. {
  384. BEGIN_INTERFACE
  385. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  386. IUserIdentityManager * This,
  387. /* [in] */ REFIID riid,
  388. /* [iid_is][out] */ void **ppvObject);
  389. ULONG ( STDMETHODCALLTYPE *AddRef )(
  390. IUserIdentityManager * This);
  391. ULONG ( STDMETHODCALLTYPE *Release )(
  392. IUserIdentityManager * This);
  393. HRESULT ( STDMETHODCALLTYPE *EnumIdentities )(
  394. IUserIdentityManager * This,
  395. /* [out] */ IEnumUserIdentity **ppEnumUser);
  396. HRESULT ( STDMETHODCALLTYPE *ManageIdentities )(
  397. IUserIdentityManager * This,
  398. /* [in] */ HWND hwndParent,
  399. /* [in] */ DWORD dwFlags);
  400. HRESULT ( STDMETHODCALLTYPE *Logon )(
  401. IUserIdentityManager * This,
  402. /* [in] */ HWND hwndParent,
  403. /* [in] */ DWORD dwFlags,
  404. /* [out] */ IUserIdentity **ppIdentity);
  405. HRESULT ( STDMETHODCALLTYPE *Logoff )(
  406. IUserIdentityManager * This,
  407. /* [in] */ HWND hwndParent);
  408. HRESULT ( STDMETHODCALLTYPE *GetIdentityByCookie )(
  409. IUserIdentityManager * This,
  410. /* [in] */ GUID *uidCookie,
  411. /* [out] */ IUserIdentity **ppIdentity);
  412. END_INTERFACE
  413. } IUserIdentityManagerVtbl;
  414. interface IUserIdentityManager
  415. {
  416. CONST_VTBL struct IUserIdentityManagerVtbl *lpVtbl;
  417. };
  418. #ifdef COBJMACROS
  419. #define IUserIdentityManager_QueryInterface(This,riid,ppvObject) \
  420. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  421. #define IUserIdentityManager_AddRef(This) \
  422. (This)->lpVtbl -> AddRef(This)
  423. #define IUserIdentityManager_Release(This) \
  424. (This)->lpVtbl -> Release(This)
  425. #define IUserIdentityManager_EnumIdentities(This,ppEnumUser) \
  426. (This)->lpVtbl -> EnumIdentities(This,ppEnumUser)
  427. #define IUserIdentityManager_ManageIdentities(This,hwndParent,dwFlags) \
  428. (This)->lpVtbl -> ManageIdentities(This,hwndParent,dwFlags)
  429. #define IUserIdentityManager_Logon(This,hwndParent,dwFlags,ppIdentity) \
  430. (This)->lpVtbl -> Logon(This,hwndParent,dwFlags,ppIdentity)
  431. #define IUserIdentityManager_Logoff(This,hwndParent) \
  432. (This)->lpVtbl -> Logoff(This,hwndParent)
  433. #define IUserIdentityManager_GetIdentityByCookie(This,uidCookie,ppIdentity) \
  434. (This)->lpVtbl -> GetIdentityByCookie(This,uidCookie,ppIdentity)
  435. #endif /* COBJMACROS */
  436. #endif /* C style interface */
  437. HRESULT STDMETHODCALLTYPE IUserIdentityManager_EnumIdentities_Proxy(
  438. IUserIdentityManager * This,
  439. /* [out] */ IEnumUserIdentity **ppEnumUser);
  440. void __RPC_STUB IUserIdentityManager_EnumIdentities_Stub(
  441. IRpcStubBuffer *This,
  442. IRpcChannelBuffer *_pRpcChannelBuffer,
  443. PRPC_MESSAGE _pRpcMessage,
  444. DWORD *_pdwStubPhase);
  445. HRESULT STDMETHODCALLTYPE IUserIdentityManager_ManageIdentities_Proxy(
  446. IUserIdentityManager * This,
  447. /* [in] */ HWND hwndParent,
  448. /* [in] */ DWORD dwFlags);
  449. void __RPC_STUB IUserIdentityManager_ManageIdentities_Stub(
  450. IRpcStubBuffer *This,
  451. IRpcChannelBuffer *_pRpcChannelBuffer,
  452. PRPC_MESSAGE _pRpcMessage,
  453. DWORD *_pdwStubPhase);
  454. HRESULT STDMETHODCALLTYPE IUserIdentityManager_Logon_Proxy(
  455. IUserIdentityManager * This,
  456. /* [in] */ HWND hwndParent,
  457. /* [in] */ DWORD dwFlags,
  458. /* [out] */ IUserIdentity **ppIdentity);
  459. void __RPC_STUB IUserIdentityManager_Logon_Stub(
  460. IRpcStubBuffer *This,
  461. IRpcChannelBuffer *_pRpcChannelBuffer,
  462. PRPC_MESSAGE _pRpcMessage,
  463. DWORD *_pdwStubPhase);
  464. HRESULT STDMETHODCALLTYPE IUserIdentityManager_Logoff_Proxy(
  465. IUserIdentityManager * This,
  466. /* [in] */ HWND hwndParent);
  467. void __RPC_STUB IUserIdentityManager_Logoff_Stub(
  468. IRpcStubBuffer *This,
  469. IRpcChannelBuffer *_pRpcChannelBuffer,
  470. PRPC_MESSAGE _pRpcMessage,
  471. DWORD *_pdwStubPhase);
  472. HRESULT STDMETHODCALLTYPE IUserIdentityManager_GetIdentityByCookie_Proxy(
  473. IUserIdentityManager * This,
  474. /* [in] */ GUID *uidCookie,
  475. /* [out] */ IUserIdentity **ppIdentity);
  476. void __RPC_STUB IUserIdentityManager_GetIdentityByCookie_Stub(
  477. IRpcStubBuffer *This,
  478. IRpcChannelBuffer *_pRpcChannelBuffer,
  479. PRPC_MESSAGE _pRpcMessage,
  480. DWORD *_pdwStubPhase);
  481. #endif /* __IUserIdentityManager_INTERFACE_DEFINED__ */
  482. #ifndef __IIdentityChangeNotify_INTERFACE_DEFINED__
  483. #define __IIdentityChangeNotify_INTERFACE_DEFINED__
  484. /* interface IIdentityChangeNotify */
  485. /* [object][helpstring][uuid] */
  486. #define IIC_CURRENT_IDENTITY_CHANGED 0x00000001
  487. #define IIC_IDENTITY_CHANGED 0x00000002
  488. #define IIC_IDENTITY_DELETED 0x00000004
  489. #define IIC_IDENTITY_ADDED 0x00000008
  490. EXTERN_C const IID IID_IIdentityChangeNotify;
  491. #if defined(__cplusplus) && !defined(CINTERFACE)
  492. MIDL_INTERFACE("A9AE6C92-1D1B-11D2-B21A-00C04FA357FA")
  493. IIdentityChangeNotify : public IUnknown
  494. {
  495. public:
  496. virtual HRESULT STDMETHODCALLTYPE QuerySwitchIdentities( void) = 0;
  497. virtual HRESULT STDMETHODCALLTYPE SwitchIdentities( void) = 0;
  498. virtual HRESULT STDMETHODCALLTYPE IdentityInformationChanged(
  499. DWORD dwType) = 0;
  500. };
  501. #else /* C style interface */
  502. typedef struct IIdentityChangeNotifyVtbl
  503. {
  504. BEGIN_INTERFACE
  505. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  506. IIdentityChangeNotify * This,
  507. /* [in] */ REFIID riid,
  508. /* [iid_is][out] */ void **ppvObject);
  509. ULONG ( STDMETHODCALLTYPE *AddRef )(
  510. IIdentityChangeNotify * This);
  511. ULONG ( STDMETHODCALLTYPE *Release )(
  512. IIdentityChangeNotify * This);
  513. HRESULT ( STDMETHODCALLTYPE *QuerySwitchIdentities )(
  514. IIdentityChangeNotify * This);
  515. HRESULT ( STDMETHODCALLTYPE *SwitchIdentities )(
  516. IIdentityChangeNotify * This);
  517. HRESULT ( STDMETHODCALLTYPE *IdentityInformationChanged )(
  518. IIdentityChangeNotify * This,
  519. DWORD dwType);
  520. END_INTERFACE
  521. } IIdentityChangeNotifyVtbl;
  522. interface IIdentityChangeNotify
  523. {
  524. CONST_VTBL struct IIdentityChangeNotifyVtbl *lpVtbl;
  525. };
  526. #ifdef COBJMACROS
  527. #define IIdentityChangeNotify_QueryInterface(This,riid,ppvObject) \
  528. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  529. #define IIdentityChangeNotify_AddRef(This) \
  530. (This)->lpVtbl -> AddRef(This)
  531. #define IIdentityChangeNotify_Release(This) \
  532. (This)->lpVtbl -> Release(This)
  533. #define IIdentityChangeNotify_QuerySwitchIdentities(This) \
  534. (This)->lpVtbl -> QuerySwitchIdentities(This)
  535. #define IIdentityChangeNotify_SwitchIdentities(This) \
  536. (This)->lpVtbl -> SwitchIdentities(This)
  537. #define IIdentityChangeNotify_IdentityInformationChanged(This,dwType) \
  538. (This)->lpVtbl -> IdentityInformationChanged(This,dwType)
  539. #endif /* COBJMACROS */
  540. #endif /* C style interface */
  541. HRESULT STDMETHODCALLTYPE IIdentityChangeNotify_QuerySwitchIdentities_Proxy(
  542. IIdentityChangeNotify * This);
  543. void __RPC_STUB IIdentityChangeNotify_QuerySwitchIdentities_Stub(
  544. IRpcStubBuffer *This,
  545. IRpcChannelBuffer *_pRpcChannelBuffer,
  546. PRPC_MESSAGE _pRpcMessage,
  547. DWORD *_pdwStubPhase);
  548. HRESULT STDMETHODCALLTYPE IIdentityChangeNotify_SwitchIdentities_Proxy(
  549. IIdentityChangeNotify * This);
  550. void __RPC_STUB IIdentityChangeNotify_SwitchIdentities_Stub(
  551. IRpcStubBuffer *This,
  552. IRpcChannelBuffer *_pRpcChannelBuffer,
  553. PRPC_MESSAGE _pRpcMessage,
  554. DWORD *_pdwStubPhase);
  555. HRESULT STDMETHODCALLTYPE IIdentityChangeNotify_IdentityInformationChanged_Proxy(
  556. IIdentityChangeNotify * This,
  557. DWORD dwType);
  558. void __RPC_STUB IIdentityChangeNotify_IdentityInformationChanged_Stub(
  559. IRpcStubBuffer *This,
  560. IRpcChannelBuffer *_pRpcChannelBuffer,
  561. PRPC_MESSAGE _pRpcMessage,
  562. DWORD *_pdwStubPhase);
  563. #endif /* __IIdentityChangeNotify_INTERFACE_DEFINED__ */
  564. #ifndef __IPrivateIdentityManager_INTERFACE_DEFINED__
  565. #define __IPrivateIdentityManager_INTERFACE_DEFINED__
  566. /* interface IPrivateIdentityManager */
  567. /* [object][helpstring][uuid] */
  568. EXTERN_C const IID IID_IPrivateIdentityManager;
  569. #if defined(__cplusplus) && !defined(CINTERFACE)
  570. MIDL_INTERFACE("A9AE6C93-1D1B-11D2-B21A-00C04FA357FA")
  571. IPrivateIdentityManager : public IUnknown
  572. {
  573. public:
  574. virtual HRESULT STDMETHODCALLTYPE CreateIdentity(
  575. /* [in] */ WCHAR *pszName,
  576. /* [out] */ IUserIdentity **ppIdentity) = 0;
  577. virtual HRESULT STDMETHODCALLTYPE ConfirmPassword(
  578. /* [in] */ GUID *uidCookie,
  579. /* [in] */ WCHAR *pszPassword) = 0;
  580. };
  581. #else /* C style interface */
  582. typedef struct IPrivateIdentityManagerVtbl
  583. {
  584. BEGIN_INTERFACE
  585. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  586. IPrivateIdentityManager * This,
  587. /* [in] */ REFIID riid,
  588. /* [iid_is][out] */ void **ppvObject);
  589. ULONG ( STDMETHODCALLTYPE *AddRef )(
  590. IPrivateIdentityManager * This);
  591. ULONG ( STDMETHODCALLTYPE *Release )(
  592. IPrivateIdentityManager * This);
  593. HRESULT ( STDMETHODCALLTYPE *CreateIdentity )(
  594. IPrivateIdentityManager * This,
  595. /* [in] */ WCHAR *pszName,
  596. /* [out] */ IUserIdentity **ppIdentity);
  597. HRESULT ( STDMETHODCALLTYPE *ConfirmPassword )(
  598. IPrivateIdentityManager * This,
  599. /* [in] */ GUID *uidCookie,
  600. /* [in] */ WCHAR *pszPassword);
  601. END_INTERFACE
  602. } IPrivateIdentityManagerVtbl;
  603. interface IPrivateIdentityManager
  604. {
  605. CONST_VTBL struct IPrivateIdentityManagerVtbl *lpVtbl;
  606. };
  607. #ifdef COBJMACROS
  608. #define IPrivateIdentityManager_QueryInterface(This,riid,ppvObject) \
  609. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  610. #define IPrivateIdentityManager_AddRef(This) \
  611. (This)->lpVtbl -> AddRef(This)
  612. #define IPrivateIdentityManager_Release(This) \
  613. (This)->lpVtbl -> Release(This)
  614. #define IPrivateIdentityManager_CreateIdentity(This,pszName,ppIdentity) \
  615. (This)->lpVtbl -> CreateIdentity(This,pszName,ppIdentity)
  616. #define IPrivateIdentityManager_ConfirmPassword(This,uidCookie,pszPassword) \
  617. (This)->lpVtbl -> ConfirmPassword(This,uidCookie,pszPassword)
  618. #endif /* COBJMACROS */
  619. #endif /* C style interface */
  620. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager_CreateIdentity_Proxy(
  621. IPrivateIdentityManager * This,
  622. /* [in] */ WCHAR *pszName,
  623. /* [out] */ IUserIdentity **ppIdentity);
  624. void __RPC_STUB IPrivateIdentityManager_CreateIdentity_Stub(
  625. IRpcStubBuffer *This,
  626. IRpcChannelBuffer *_pRpcChannelBuffer,
  627. PRPC_MESSAGE _pRpcMessage,
  628. DWORD *_pdwStubPhase);
  629. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager_ConfirmPassword_Proxy(
  630. IPrivateIdentityManager * This,
  631. /* [in] */ GUID *uidCookie,
  632. /* [in] */ WCHAR *pszPassword);
  633. void __RPC_STUB IPrivateIdentityManager_ConfirmPassword_Stub(
  634. IRpcStubBuffer *This,
  635. IRpcChannelBuffer *_pRpcChannelBuffer,
  636. PRPC_MESSAGE _pRpcMessage,
  637. DWORD *_pdwStubPhase);
  638. #endif /* __IPrivateIdentityManager_INTERFACE_DEFINED__ */
  639. #ifndef __IPrivateIdentityManager2_INTERFACE_DEFINED__
  640. #define __IPrivateIdentityManager2_INTERFACE_DEFINED__
  641. /* interface IPrivateIdentityManager2 */
  642. /* [object][helpstring][uuid] */
  643. EXTERN_C const IID IID_IPrivateIdentityManager2;
  644. #if defined(__cplusplus) && !defined(CINTERFACE)
  645. MIDL_INTERFACE("15E84C92-2E4D-11d3-9C92-00104B35E7F9")
  646. IPrivateIdentityManager2 : public IUnknown
  647. {
  648. public:
  649. virtual HRESULT STDMETHODCALLTYPE CreateIdentity2(
  650. /* [in] */ WCHAR *pszName,
  651. /* [in] */ WCHAR *pszPassword,
  652. /* [out] */ IUserIdentity **ppIdentity) = 0;
  653. virtual HRESULT STDMETHODCALLTYPE DestroyIdentity(
  654. /* [in] */ GUID *uidCookie) = 0;
  655. virtual HRESULT STDMETHODCALLTYPE LogonAs(
  656. /* [in] */ WCHAR *pszName,
  657. /* [in] */ WCHAR *pszPassword,
  658. /* [out] */ IUserIdentity **ppIdentity) = 0;
  659. virtual HRESULT STDMETHODCALLTYPE SetDefaultIdentity(
  660. /* [in] */ GUID *puidCookie) = 0;
  661. virtual HRESULT STDMETHODCALLTYPE GetDefaultIdentity(
  662. /* [out] */ GUID *puidCookie) = 0;
  663. };
  664. #else /* C style interface */
  665. typedef struct IPrivateIdentityManager2Vtbl
  666. {
  667. BEGIN_INTERFACE
  668. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  669. IPrivateIdentityManager2 * This,
  670. /* [in] */ REFIID riid,
  671. /* [iid_is][out] */ void **ppvObject);
  672. ULONG ( STDMETHODCALLTYPE *AddRef )(
  673. IPrivateIdentityManager2 * This);
  674. ULONG ( STDMETHODCALLTYPE *Release )(
  675. IPrivateIdentityManager2 * This);
  676. HRESULT ( STDMETHODCALLTYPE *CreateIdentity2 )(
  677. IPrivateIdentityManager2 * This,
  678. /* [in] */ WCHAR *pszName,
  679. /* [in] */ WCHAR *pszPassword,
  680. /* [out] */ IUserIdentity **ppIdentity);
  681. HRESULT ( STDMETHODCALLTYPE *DestroyIdentity )(
  682. IPrivateIdentityManager2 * This,
  683. /* [in] */ GUID *uidCookie);
  684. HRESULT ( STDMETHODCALLTYPE *LogonAs )(
  685. IPrivateIdentityManager2 * This,
  686. /* [in] */ WCHAR *pszName,
  687. /* [in] */ WCHAR *pszPassword,
  688. /* [out] */ IUserIdentity **ppIdentity);
  689. HRESULT ( STDMETHODCALLTYPE *SetDefaultIdentity )(
  690. IPrivateIdentityManager2 * This,
  691. /* [in] */ GUID *puidCookie);
  692. HRESULT ( STDMETHODCALLTYPE *GetDefaultIdentity )(
  693. IPrivateIdentityManager2 * This,
  694. /* [out] */ GUID *puidCookie);
  695. END_INTERFACE
  696. } IPrivateIdentityManager2Vtbl;
  697. interface IPrivateIdentityManager2
  698. {
  699. CONST_VTBL struct IPrivateIdentityManager2Vtbl *lpVtbl;
  700. };
  701. #ifdef COBJMACROS
  702. #define IPrivateIdentityManager2_QueryInterface(This,riid,ppvObject) \
  703. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  704. #define IPrivateIdentityManager2_AddRef(This) \
  705. (This)->lpVtbl -> AddRef(This)
  706. #define IPrivateIdentityManager2_Release(This) \
  707. (This)->lpVtbl -> Release(This)
  708. #define IPrivateIdentityManager2_CreateIdentity2(This,pszName,pszPassword,ppIdentity) \
  709. (This)->lpVtbl -> CreateIdentity2(This,pszName,pszPassword,ppIdentity)
  710. #define IPrivateIdentityManager2_DestroyIdentity(This,uidCookie) \
  711. (This)->lpVtbl -> DestroyIdentity(This,uidCookie)
  712. #define IPrivateIdentityManager2_LogonAs(This,pszName,pszPassword,ppIdentity) \
  713. (This)->lpVtbl -> LogonAs(This,pszName,pszPassword,ppIdentity)
  714. #define IPrivateIdentityManager2_SetDefaultIdentity(This,puidCookie) \
  715. (This)->lpVtbl -> SetDefaultIdentity(This,puidCookie)
  716. #define IPrivateIdentityManager2_GetDefaultIdentity(This,puidCookie) \
  717. (This)->lpVtbl -> GetDefaultIdentity(This,puidCookie)
  718. #endif /* COBJMACROS */
  719. #endif /* C style interface */
  720. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager2_CreateIdentity2_Proxy(
  721. IPrivateIdentityManager2 * This,
  722. /* [in] */ WCHAR *pszName,
  723. /* [in] */ WCHAR *pszPassword,
  724. /* [out] */ IUserIdentity **ppIdentity);
  725. void __RPC_STUB IPrivateIdentityManager2_CreateIdentity2_Stub(
  726. IRpcStubBuffer *This,
  727. IRpcChannelBuffer *_pRpcChannelBuffer,
  728. PRPC_MESSAGE _pRpcMessage,
  729. DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager2_DestroyIdentity_Proxy(
  731. IPrivateIdentityManager2 * This,
  732. /* [in] */ GUID *uidCookie);
  733. void __RPC_STUB IPrivateIdentityManager2_DestroyIdentity_Stub(
  734. IRpcStubBuffer *This,
  735. IRpcChannelBuffer *_pRpcChannelBuffer,
  736. PRPC_MESSAGE _pRpcMessage,
  737. DWORD *_pdwStubPhase);
  738. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager2_LogonAs_Proxy(
  739. IPrivateIdentityManager2 * This,
  740. /* [in] */ WCHAR *pszName,
  741. /* [in] */ WCHAR *pszPassword,
  742. /* [out] */ IUserIdentity **ppIdentity);
  743. void __RPC_STUB IPrivateIdentityManager2_LogonAs_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager2_SetDefaultIdentity_Proxy(
  749. IPrivateIdentityManager2 * This,
  750. /* [in] */ GUID *puidCookie);
  751. void __RPC_STUB IPrivateIdentityManager2_SetDefaultIdentity_Stub(
  752. IRpcStubBuffer *This,
  753. IRpcChannelBuffer *_pRpcChannelBuffer,
  754. PRPC_MESSAGE _pRpcMessage,
  755. DWORD *_pdwStubPhase);
  756. HRESULT STDMETHODCALLTYPE IPrivateIdentityManager2_GetDefaultIdentity_Proxy(
  757. IPrivateIdentityManager2 * This,
  758. /* [out] */ GUID *puidCookie);
  759. void __RPC_STUB IPrivateIdentityManager2_GetDefaultIdentity_Stub(
  760. IRpcStubBuffer *This,
  761. IRpcChannelBuffer *_pRpcChannelBuffer,
  762. PRPC_MESSAGE _pRpcMessage,
  763. DWORD *_pdwStubPhase);
  764. #endif /* __IPrivateIdentityManager2_INTERFACE_DEFINED__ */
  765. /* interface __MIDL_itf_msident_0260 */
  766. /* [local] */
  767. extern const IID CLSID_UserIdentityManager;
  768. extern RPC_IF_HANDLE __MIDL_itf_msident_0260_v0_0_c_ifspec;
  769. extern RPC_IF_HANDLE __MIDL_itf_msident_0260_v0_0_s_ifspec;
  770. #ifndef __IUserIdentity2_INTERFACE_DEFINED__
  771. #define __IUserIdentity2_INTERFACE_DEFINED__
  772. /* interface IUserIdentity2 */
  773. /* [object][helpstring][uuid] */
  774. EXTERN_C const IID IID_IUserIdentity2;
  775. #if defined(__cplusplus) && !defined(CINTERFACE)
  776. MIDL_INTERFACE("A9AE6C94-1D1B-11D2-B21A-00C04FA357FA")
  777. IUserIdentity2 : public IUserIdentity
  778. {
  779. public:
  780. virtual HRESULT STDMETHODCALLTYPE GetOrdinal(
  781. /* [out] */ DWORD *dwOrdinal) = 0;
  782. virtual HRESULT STDMETHODCALLTYPE SetName(
  783. /* [in] */ WCHAR *pszName) = 0;
  784. virtual HRESULT STDMETHODCALLTYPE ChangePassword(
  785. /* [in] */ WCHAR *szOldPass,
  786. /* [in] */ WCHAR *szNewPass) = 0;
  787. };
  788. #else /* C style interface */
  789. typedef struct IUserIdentity2Vtbl
  790. {
  791. BEGIN_INTERFACE
  792. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  793. IUserIdentity2 * This,
  794. /* [in] */ REFIID riid,
  795. /* [iid_is][out] */ void **ppvObject);
  796. ULONG ( STDMETHODCALLTYPE *AddRef )(
  797. IUserIdentity2 * This);
  798. ULONG ( STDMETHODCALLTYPE *Release )(
  799. IUserIdentity2 * This);
  800. HRESULT ( STDMETHODCALLTYPE *GetCookie )(
  801. IUserIdentity2 * This,
  802. /* [out] */ GUID *puidCookie);
  803. HRESULT ( STDMETHODCALLTYPE *GetName )(
  804. IUserIdentity2 * This,
  805. /* [in] */ WCHAR *pszName,
  806. /* [in] */ ULONG ulBuffSize);
  807. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenIdentityRegKey )(
  808. IUserIdentity2 * This,
  809. /* [in] */ DWORD dwDesiredAccess,
  810. /* [out] */ HKEY *phKey);
  811. HRESULT ( STDMETHODCALLTYPE *GetIdentityFolder )(
  812. IUserIdentity2 * This,
  813. /* [in] */ DWORD dwFlags,
  814. /* [in] */ WCHAR *pszPath,
  815. /* [in] */ ULONG ulBuffSize);
  816. HRESULT ( STDMETHODCALLTYPE *GetOrdinal )(
  817. IUserIdentity2 * This,
  818. /* [out] */ DWORD *dwOrdinal);
  819. HRESULT ( STDMETHODCALLTYPE *SetName )(
  820. IUserIdentity2 * This,
  821. /* [in] */ WCHAR *pszName);
  822. HRESULT ( STDMETHODCALLTYPE *ChangePassword )(
  823. IUserIdentity2 * This,
  824. /* [in] */ WCHAR *szOldPass,
  825. /* [in] */ WCHAR *szNewPass);
  826. END_INTERFACE
  827. } IUserIdentity2Vtbl;
  828. interface IUserIdentity2
  829. {
  830. CONST_VTBL struct IUserIdentity2Vtbl *lpVtbl;
  831. };
  832. #ifdef COBJMACROS
  833. #define IUserIdentity2_QueryInterface(This,riid,ppvObject) \
  834. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  835. #define IUserIdentity2_AddRef(This) \
  836. (This)->lpVtbl -> AddRef(This)
  837. #define IUserIdentity2_Release(This) \
  838. (This)->lpVtbl -> Release(This)
  839. #define IUserIdentity2_GetCookie(This,puidCookie) \
  840. (This)->lpVtbl -> GetCookie(This,puidCookie)
  841. #define IUserIdentity2_GetName(This,pszName,ulBuffSize) \
  842. (This)->lpVtbl -> GetName(This,pszName,ulBuffSize)
  843. #define IUserIdentity2_OpenIdentityRegKey(This,dwDesiredAccess,phKey) \
  844. (This)->lpVtbl -> OpenIdentityRegKey(This,dwDesiredAccess,phKey)
  845. #define IUserIdentity2_GetIdentityFolder(This,dwFlags,pszPath,ulBuffSize) \
  846. (This)->lpVtbl -> GetIdentityFolder(This,dwFlags,pszPath,ulBuffSize)
  847. #define IUserIdentity2_GetOrdinal(This,dwOrdinal) \
  848. (This)->lpVtbl -> GetOrdinal(This,dwOrdinal)
  849. #define IUserIdentity2_SetName(This,pszName) \
  850. (This)->lpVtbl -> SetName(This,pszName)
  851. #define IUserIdentity2_ChangePassword(This,szOldPass,szNewPass) \
  852. (This)->lpVtbl -> ChangePassword(This,szOldPass,szNewPass)
  853. #endif /* COBJMACROS */
  854. #endif /* C style interface */
  855. HRESULT STDMETHODCALLTYPE IUserIdentity2_GetOrdinal_Proxy(
  856. IUserIdentity2 * This,
  857. /* [out] */ DWORD *dwOrdinal);
  858. void __RPC_STUB IUserIdentity2_GetOrdinal_Stub(
  859. IRpcStubBuffer *This,
  860. IRpcChannelBuffer *_pRpcChannelBuffer,
  861. PRPC_MESSAGE _pRpcMessage,
  862. DWORD *_pdwStubPhase);
  863. HRESULT STDMETHODCALLTYPE IUserIdentity2_SetName_Proxy(
  864. IUserIdentity2 * This,
  865. /* [in] */ WCHAR *pszName);
  866. void __RPC_STUB IUserIdentity2_SetName_Stub(
  867. IRpcStubBuffer *This,
  868. IRpcChannelBuffer *_pRpcChannelBuffer,
  869. PRPC_MESSAGE _pRpcMessage,
  870. DWORD *_pdwStubPhase);
  871. HRESULT STDMETHODCALLTYPE IUserIdentity2_ChangePassword_Proxy(
  872. IUserIdentity2 * This,
  873. /* [in] */ WCHAR *szOldPass,
  874. /* [in] */ WCHAR *szNewPass);
  875. void __RPC_STUB IUserIdentity2_ChangePassword_Stub(
  876. IRpcStubBuffer *This,
  877. IRpcChannelBuffer *_pRpcChannelBuffer,
  878. PRPC_MESSAGE _pRpcMessage,
  879. DWORD *_pdwStubPhase);
  880. #endif /* __IUserIdentity2_INTERFACE_DEFINED__ */
  881. /* Additional Prototypes for ALL interfaces */
  882. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  883. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  884. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  885. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  886. /* end of Additional Prototypes */
  887. #ifdef __cplusplus
  888. }
  889. #endif
  890. #endif