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.

203 lines
7.4 KiB

  1. /**********************************************************************/
  2. /** Microsoft Passport **/
  3. /** Copyright(c) Microsoft Corporation, 1999 - 2001 **/
  4. /**********************************************************************/
  5. /*
  6. FastAuth.h
  7. defines the CFastAuth class for FastAuth interface
  8. FILE HISTORY:
  9. */
  10. // FastAuth.h : Declaration of the CFastAuth
  11. #ifndef __FASTAUTH_H_
  12. #define __FASTAUTH_H_
  13. #include "resource.h" // main symbols
  14. #include "passport.h"
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CFastAuth
  17. class ATL_NO_VTABLE CFastAuth :
  18. public CComObjectRootEx<CComMultiThreadModel>,
  19. public CComCoClass<CFastAuth, &CLSID_FastAuth>,
  20. public ISupportErrorInfo,
  21. public IDispatchImpl<IPassportFastAuth2, &IID_IPassportFastAuth2, &LIBID_PASSPORTLib>
  22. {
  23. public:
  24. CFastAuth()
  25. {
  26. m_pUnkMarshaler = NULL;
  27. }
  28. DECLARE_REGISTRY_RESOURCEID(IDR_FASTAUTH)
  29. DECLARE_NOT_AGGREGATABLE(CFastAuth)
  30. DECLARE_GET_CONTROLLING_UNKNOWN()
  31. DECLARE_PROTECT_FINAL_CONSTRUCT()
  32. BEGIN_COM_MAP(CFastAuth)
  33. COM_INTERFACE_ENTRY(IPassportFastAuth)
  34. COM_INTERFACE_ENTRY(IPassportFastAuth2)
  35. COM_INTERFACE_ENTRY(IDispatch)
  36. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  37. COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
  38. END_COM_MAP()
  39. HRESULT FinalConstruct()
  40. {
  41. return CoCreateFreeThreadedMarshaler(
  42. GetControllingUnknown(), &m_pUnkMarshaler.p);
  43. }
  44. void FinalRelease()
  45. {
  46. m_pUnkMarshaler.Release();
  47. }
  48. CComPtr<IUnknown> m_pUnkMarshaler;
  49. // ISupportsErrorInfo
  50. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  51. // IPassportFastAuth
  52. STDMETHOD(LogoTag)(
  53. BSTR bstrTicket,
  54. BSTR bstrProfile,
  55. VARIANT vRU,
  56. VARIANT vTimeWindow,
  57. VARIANT vForceLogin,
  58. VARIANT vCoBrand,
  59. VARIANT vLangId,
  60. VARIANT vSecure,
  61. VARIANT vLogoutURL,
  62. VARIANT vSiteName,
  63. VARIANT vNameSpace,
  64. VARIANT vKPP,
  65. VARIANT vUseSecureAuth,
  66. BSTR* pbstrLogoTag
  67. );
  68. STDMETHOD(LogoTag2)(
  69. BSTR bstrTicket,
  70. BSTR bstrProfile,
  71. VARIANT vRU,
  72. VARIANT vTimeWindow,
  73. VARIANT vForceLogin,
  74. VARIANT vCoBrand,
  75. VARIANT vLangId,
  76. VARIANT vSecure,
  77. VARIANT vLogoutURL,
  78. VARIANT vSiteName,
  79. VARIANT vNameSpace,
  80. VARIANT vKPP,
  81. VARIANT vUseSecureAuth,
  82. BSTR* pbstrLogoTag
  83. );
  84. STDMETHOD(IsAuthenticated)(
  85. BSTR bstrTicket,
  86. BSTR bstrProfile,
  87. VARIANT vSecure,
  88. VARIANT vTimeWindow,
  89. VARIANT vForceLogin,
  90. VARIANT vSiteName,
  91. VARIANT vDoSecureCheck,
  92. VARIANT_BOOL* pbAuthenticated
  93. );
  94. STDMETHOD(AuthURL)(
  95. VARIANT vTicket,
  96. VARIANT vProfile,
  97. VARIANT vRU,
  98. VARIANT vTimeWindow,
  99. VARIANT vForceLogin,
  100. VARIANT vCoBrand,
  101. VARIANT vLangId,
  102. VARIANT vSecure,
  103. VARIANT vLogoutURL,
  104. VARIANT vReserved1,
  105. VARIANT vSiteName,
  106. VARIANT vNameSpace,
  107. VARIANT vKPP,
  108. VARIANT vUseSecureAuth,
  109. BSTR* pbstrAuthURL
  110. );
  111. STDMETHOD(AuthURL2)(
  112. VARIANT vTicket,
  113. VARIANT vProfile,
  114. VARIANT vRU,
  115. VARIANT vTimeWindow,
  116. VARIANT vForceLogin,
  117. VARIANT vCoBrand,
  118. VARIANT vLangId,
  119. VARIANT vSecure,
  120. VARIANT vLogoutURL,
  121. VARIANT vReserved1,
  122. VARIANT vSiteName,
  123. VARIANT vNameSpace,
  124. VARIANT vKPP,
  125. VARIANT vUseSecureAuth,
  126. BSTR* pbstrAuthURL
  127. );
  128. STDMETHOD(GetTicketAndProfilePFC)(
  129. BYTE* pbPFC,
  130. BYTE* pbPPH,
  131. BSTR* pbstrTicket,
  132. BSTR* pbstrProfile,
  133. BSTR* pbstrSecure,
  134. BSTR* pbstrSiteName
  135. );
  136. STDMETHOD(GetTicketAndProfileECB)(
  137. BYTE* pbECB,
  138. BSTR* pbstrTicket,
  139. BSTR* pbstrProfile,
  140. BSTR* pbstrSecure,
  141. BSTR* pbstrSiteName
  142. );
  143. public:
  144. private:
  145. STDMETHOD(CommonAuthURL)(
  146. VARIANT vTicket,
  147. VARIANT vProfile,
  148. VARIANT vRU,
  149. VARIANT vTimeWindow,
  150. VARIANT vForceLogin,
  151. VARIANT vCoBrand,
  152. VARIANT vLangId,
  153. VARIANT vSecure,
  154. VARIANT vLogoutURL,
  155. VARIANT vReserved1,
  156. VARIANT vSiteName,
  157. VARIANT vNameSpace,
  158. VARIANT vKPP,
  159. VARIANT vUseSecureAuth,
  160. BOOL fRedirToSelf,
  161. BSTR* pbstrAuthURL
  162. );
  163. STDMETHOD(CommonLogoTag)(
  164. BSTR bstrTicket,
  165. BSTR bstrProfile,
  166. VARIANT vRU,
  167. VARIANT vTimeWindow,
  168. VARIANT vForceLogin,
  169. VARIANT vCoBrand,
  170. VARIANT vLangId,
  171. VARIANT vSecure,
  172. VARIANT vLogoutURL,
  173. VARIANT vSiteName,
  174. VARIANT vNameSpace,
  175. VARIANT vKPP,
  176. VARIANT vUseSecureAuth,
  177. BOOL fRedirToSelf,
  178. BSTR* pbstrLogoTag
  179. );
  180. };
  181. #endif //__FASTAUTH_H_