Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenimnact.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright 2006 Robert Shearman for CodeWeavers 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 import "objidl.idl"; 00020 00021 interface IImnAccount; 00022 00023 cpp_quote("#ifndef HR_E") 00024 cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)") 00025 cpp_quote("#endif") 00026 cpp_quote("#ifndef HR_S") 00027 cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)") 00028 cpp_quote("#endif") 00029 00030 typedef enum tagSMTPAUTHTYPE 00031 { 00032 SMTP_AUTH_NONE, 00033 SMTP_AUTH_SICILY, 00034 SMTP_AUTH_USE_POP3ORIMAP_SETTINGS, 00035 SMTP_AUTH_USE_SMTP_SETTINGS, 00036 } SMTPAUTHTYPE; 00037 00038 const SHORT CCHMAX_ORG_NAME = 256; 00039 const SHORT CCHMAX_DISPLAY_NAME = 256; 00040 const SHORT CCHMAX_ACCOUNT_NAME = 256; 00041 const SHORT CCHMAX_SERVER_NAME = 256; 00042 const SHORT CCHMAX_PASSWORD = 256; 00043 const SHORT CCHMAX_USERNAME = 256; 00044 const SHORT CCHMAX_EMAIL_ADDRESS = 256; 00045 const SHORT CCHMAX_CONNECTOID = 256; 00046 const SHORT CCHMAX_SEARCH_BASE = 256; 00047 const SHORT CCHMAX_ROOT_FOLDER = 256; 00048 const SHORT CCHMAX_SIGNATURE = 16; 00049 const SHORT CCHMAX_SERVICE = 256; 00050 00051 [ 00052 object, 00053 uuid(0A06BD31-166F-11D0-81B9-00C04FD85AB4), 00054 pointer_default(unique) 00055 ] 00056 interface IImnAdviseAccount : IUnknown 00057 { 00058 typedef enum 00059 { 00060 ACCT_NEWS, 00061 ACCT_MAIL, 00062 ACCT_DIR_SERV, 00063 ACCT_LAST 00064 } ACCTTYPE; 00065 00066 typedef struct tagAccountContext 00067 { 00068 ACCTTYPE AcctType; 00069 LPSTR pszAccountID; 00070 LPSTR pszOldName; 00071 DWORD dwServerType; 00072 } ACTX; 00073 00074 HRESULT AdviseAccount( 00075 [in] DWORD dwAdviseType, 00076 [in] ACTX *pAcctCtx); 00077 } 00078 00079 [ 00080 object, 00081 uuid(8D0AED11-1638-11D0-81B9-00C04FD85AB4), 00082 pointer_default(unique) 00083 ] 00084 interface IImnAdviseMigrateServer : IUnknown 00085 { 00086 HRESULT MigrateServer( 00087 [in] DWORD dwSrvType, 00088 [in] IImnAccount *pAccount); 00089 } 00090 00091 [ 00092 object, 00093 uuid(FD465483-1384-11D0-ABBD-0020AFDFD10A), 00094 pointer_default(unique) 00095 ] 00096 interface IImnEnumAccounts : IUnknown 00097 { 00098 HRESULT GetCount( 00099 [out] ULONG *pcItems); 00100 00101 HRESULT SortByAccountName(); 00102 00103 HRESULT GetNext( 00104 [out] IImnAccount **ppAccount); 00105 00106 HRESULT Reset(); 00107 } 00108 00109 [ 00110 object, 00111 uuid(FD465481-1384-11D0-ABBD-0020AFDFD10A), 00112 pointer_default(unique) 00113 ] 00114 interface IImnAccountManager : IUnknown 00115 { 00116 typedef struct tagACCTLISTINFO 00117 { 00118 DWORD cbSize; 00119 ACCTTYPE AcctTypeInit; 00120 DWORD dwAcctFlags; 00121 DWORD dwFlags; 00122 } ACCTLISTINFO; 00123 00124 HRESULT Init( 00125 [in] IImnAdviseMigrateServer *pAdviseMigrateServer); 00126 00127 HRESULT CreateAccountObject( 00128 [in] ACCTTYPE AcctType, 00129 [out] IImnAccount **ppAccount); 00130 00131 HRESULT Enumerate( 00132 [in] DWORD dwSrvTypes, 00133 [out] IImnEnumAccounts **ppEnumAccounts); 00134 00135 HRESULT GetAccountCount( 00136 [in] ACCTTYPE AcctType, 00137 [out] ULONG *pcServers); 00138 00139 HRESULT FindAccount( 00140 [in] DWORD dwPropTag, 00141 [in] LPCSTR pszSearchData, 00142 [out] IImnAccount **ppAccount); 00143 00144 HRESULT GetDefaultAccountName( 00145 [in] ACCTTYPE AcctType, 00146 [in,ref] LPSTR pszAccount, 00147 [in] ULONG cchMax); 00148 00149 HRESULT ProcessNotification( 00150 [in] UINT uMsg, 00151 [in] WPARAM wParam, 00152 [in] LPARAM lParam); 00153 00154 HRESULT ValidateDefaultSendAccount(); 00155 00156 HRESULT AccountListDialog( 00157 [in] HWND hwnd, 00158 [in] ACCTLISTINFO *pinfo); 00159 00160 HRESULT Advise( 00161 [in] IImnAdviseAccount *pAdviseAccount, 00162 [out] DWORD *pdwConnection); 00163 00164 HRESULT Unadvise( 00165 [in] DWORD dwConnection); 00166 00167 HRESULT GetUniqueAccountName( 00168 [in] LPSTR szName, 00169 [in] UINT cch); 00170 00171 HRESULT InitEx( 00172 [in] IImnAdviseMigrateServer *pAdviseMigrateServer, 00173 [in] DWORD dwFlags); 00174 } 00175 00176 [ 00177 object, 00178 uuid(C43DFC6F-62BB-11D2-A727-00C04F79E7C8), 00179 pointer_default(unique) 00180 ] 00181 interface IImnAccountManager2 : IImnAccountManager 00182 { 00183 HRESULT InitUser( 00184 [in] IImnAdviseMigrateServer *pAdviseMigrateServer, 00185 [in] REFGUID rguidID, 00186 [in] DWORD dwFlags); 00187 00188 HRESULT GetIncompleteAccount( 00189 [in] ACCTTYPE AcctType, 00190 [in,ref] LPSTR pszAccountId, 00191 [in] ULONG cchMax); 00192 00193 HRESULT SetIncompleteAccount( 00194 [in] ACCTTYPE AcctType, 00195 [in] LPCSTR pszAccountId); 00196 } 00197 00198 [ 00199 object, 00200 uuid(FD465484-1384-11D0-ABBD-0020AFDFD10A), 00201 pointer_default(unique) 00202 ] 00203 interface IPropertyContainer : IUnknown 00204 { 00205 typedef enum 00206 { 00207 TYPE_ERROR = 1000, 00208 TYPE_DWORD, 00209 TYPE_LONG, 00210 TYPE_WORD, 00211 TYPE_SHORT, 00212 TYPE_BYTE, 00213 TYPE_CHAR, 00214 TYPE_FILETIME, 00215 TYPE_STRING, 00216 TYPE_BINARY, 00217 TYPE_FLAGS, 00218 TYPE_STREAM, 00219 TYPE_WSTRING, 00220 TYPE_BOOL, 00221 TYPE_PASS, 00222 TYPE_LAST 00223 } PROPTYPE; 00224 00225 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") 00226 cpp_quote("#undef GetProp") 00227 cpp_quote("#undef SetProp") 00228 cpp_quote("#endif") 00229 00230 HRESULT GetProp( 00231 [in] DWORD dwPropTag, 00232 [in,size_is(*pcb),ref] BYTE *pb, 00233 [in] ULONG *pcb); 00234 00235 HRESULT GetPropDw( 00236 [in] DWORD dwPropTag, 00237 [out] DWORD *pdw); 00238 00239 HRESULT GetPropSz( 00240 [in] DWORD dwPropTag, 00241 [in,ref] LPSTR psz, 00242 [in] ULONG cchMax); 00243 00244 HRESULT SetProp( 00245 [in] DWORD dwPropTag, 00246 [in,size_is(cb)] BYTE *pb, 00247 [in] ULONG cb); 00248 00249 HRESULT SetPropDw( 00250 [in] DWORD dwPropTag, 00251 [in] DWORD dw); 00252 00253 HRESULT SetPropSz( 00254 [in] DWORD dwPropTag, 00255 [in] LPSTR psz); 00256 } 00257 00258 [ 00259 object, 00260 uuid(FD465482-1384-11D0-ABBD-0020AFDFD10A), 00261 pointer_default(unique) 00262 ] 00263 interface IImnAccount : IPropertyContainer 00264 { 00265 HRESULT Exist(); 00266 00267 HRESULT SetAsDefault(); 00268 00269 HRESULT Delete(); 00270 00271 HRESULT SaveChanges(); 00272 00273 HRESULT GetAccountType( 00274 [out] ACCTTYPE *pAcctType); 00275 00276 HRESULT GetServerTypes( 00277 [out] DWORD *pdwSrvTypes); 00278 00279 HRESULT ShowProperties( 00280 [in] HWND hwnd, 00281 [in] DWORD dwFlags); 00282 00283 HRESULT ValidateProperty( 00284 [in] DWORD dwPropTag, 00285 [in,size_is(cb)] BYTE *pb, 00286 [in] ULONG cb); 00287 00288 HRESULT DoWizard( 00289 [in] HWND hwnd, 00290 [in] DWORD dwFlags); 00291 00292 HRESULT DoImportWizard( 00293 [in] HWND hwnd, 00294 [in] CLSID clsid, 00295 [in] DWORD dwFlags); 00296 } 00297 00298 cpp_quote("HRESULT WINAPI HrCreateAccountManager(IImnAccountManager **ppAccountManager);") 00299 cpp_quote("HRESULT WINAPI ValidEmailAddress(LPSTR lpAddress);") Generated on Thu May 24 2012 04:32:16 for ReactOS by
1.7.6.1
|