Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenimnxport.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 "imnact.idl"; 00020 00021 interface IInternetTransport; 00022 interface ISMTPTransport; 00023 interface IPOP3Transport; 00024 interface IIMAPTransport; 00025 00026 /* CLSIDs */ 00027 00028 cpp_quote("DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00029 cpp_quote("DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00030 cpp_quote("DEFINE_GUID(CLSID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00031 cpp_quote("DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00032 cpp_quote("DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00033 cpp_quote("DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00034 cpp_quote("DEFINE_GUID(CLSID_IRangeList, 0xfd853cea, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00035 cpp_quote("DEFINE_GUID(CLSID_IIMAPTransport, 0xfd853ceb, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") 00036 cpp_quote("DEFINE_GUID(CLSID_IHTTPMailTransport, 0x5a580c11, 0xe5eb, 0x11d1, 0xa8, 0x6e, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);") 00037 cpp_quote("DEFINE_GUID(CLSID_IPropFindRequest, 0xbb847b8a, 0x054a, 0x11d2, 0xa8, 0x94, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);") 00038 cpp_quote("DEFINE_GUID(CLSID_IPropPatchRequest, 0xea678830, 0x235d, 0x11d2, 0xa8, 0xb6, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96);") 00039 00040 /* Error Codes */ 00041 00042 cpp_quote("#ifndef HR_E") 00043 cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)") 00044 cpp_quote("#endif") 00045 cpp_quote("#ifndef HR_S") 00046 cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)") 00047 cpp_quote("#endif") 00048 00049 /* General Error Codes */ 00050 cpp_quote("#define IXP_E_LOAD_SICILY_FAILED HR_E(0xCC00)") 00051 cpp_quote("#define IXP_E_INVALID_CERT_CN HR_E(0xCC01)") 00052 cpp_quote("#define IXP_E_INVALID_CERT_DATE HR_E(0xCC02)") 00053 cpp_quote("#define IXP_E_ALREADY_CONNECTED HR_E(0xCC03)") 00054 cpp_quote("#define IXP_E_CONN HR_E(0xCC04)") 00055 cpp_quote("#define IXP_E_NOT_CONNECTED HR_E(0xCC05)") 00056 cpp_quote("#define IXP_E_CONN_SEND HR_E(0xCC06)") 00057 cpp_quote("#define IXP_E_WOULD_BLOCK HR_E(0xCC07)") 00058 cpp_quote("#define IXP_E_INVALID_STATE HR_E(0xCC08)") 00059 cpp_quote("#define IXP_E_CONN_RECV HR_E(0xCC09)") 00060 cpp_quote("#define IXP_E_INCOMPLETE HR_E(0xCC0A)") 00061 cpp_quote("#define IXP_E_BUSY HR_E(0xCC0B)") 00062 cpp_quote("#define IXP_E_NOT_INIT HR_E(0xCC0C)") 00063 cpp_quote("#define IXP_E_CANT_FIND_HOST HR_E(0xCC0D)") 00064 cpp_quote("#define IXP_E_FAILED_TO_CONNECT HR_E(0xCC0E)") 00065 cpp_quote("#define IXP_E_CONNECTION_DROPPED HR_E(0xCC0F)") 00066 cpp_quote("#define IXP_E_INVALID_ADDRESS HR_E(0xCC10)") 00067 cpp_quote("#define IXP_E_INVALID_ADDRESS_LIST HR_E(0xCC11)") 00068 cpp_quote("#define IXP_E_SOCKET_READ_ERROR HR_E(0xCC12)") 00069 cpp_quote("#define IXP_E_SOCKET_WRITE_ERROR HR_E(0xCC13)") 00070 cpp_quote("#define IXP_E_SCOKET_INIT_ERROR HR_E(0xCC14)") 00071 cpp_quote("#define IXP_E_SOCKET_CONNECT_ERROR HR_E(0xCC15)") 00072 cpp_quote("#define IXP_E_INVALID_ACCOUNT HR_E(0xCC16)") 00073 cpp_quote("#define IXP_E_USER_CANCEL HR_E(0xCC17)") 00074 cpp_quote("#define IXP_E_SICILY_LOGON_FAILED HR_E(0xCC18)") 00075 cpp_quote("#define IXP_E_TIMEOUT HR_E(0xCC19)") 00076 cpp_quote("#define IXP_E_SECURE_CONNECT_FAILED HR_E(0xCC1A)") 00077 00078 /* SMTP Failure Statuses */ 00079 cpp_quote("#define IXP_E_SMTP_RESPONSE_ERROR HR_E(0xCC60)") 00080 cpp_quote("#define IXP_E_SMTP_UNKNOWN_RESPONSE_CODE HR_E(0xCC61)") 00081 cpp_quote("#define IXP_E_SMTP_500_SYNTAX_ERROR HR_E(0xCC62)") 00082 cpp_quote("#define IXP_E_SMTP_501_PARAM_SYNTAX HR_E(0xCC63)") 00083 cpp_quote("#define IXP_E_SMTP_502_COMMAND_NOTIMPL HR_E(0xCC64)") 00084 cpp_quote("#define IXP_E_SMTP_503_COMMAND_SEQ HR_E(0xCC65)") 00085 cpp_quote("#define IXP_E_SMTP_504_COMMAND_PARAM_NOTIMPL HR_E(0xCC66)") 00086 cpp_quote("#define IXP_E_SMTP_421_NOT_AVAILABLE HR_E(0xCC67)") 00087 cpp_quote("#define IXP_E_SMTP_450_MAILBOX_BUSY HR_E(0xCC68)") 00088 cpp_quote("#define IXP_E_SMTP_550_MAILBOX_NOT_FOUND HR_E(0xCC69)") 00089 cpp_quote("#define IXP_E_SMTP_451_ERROR_PROCESSING HR_E(0xCC6A)") 00090 cpp_quote("#define IXP_E_SMTP_551_USER_NOT_LOCAL HR_E(0xCC6B)") 00091 cpp_quote("#define IXP_E_SMTP_452_NO_SYSTEM_STORAGE HR_E(0xCC6C)") 00092 cpp_quote("#define IXP_E_SMTP_552_STORAGE_OVERFLOW HR_E(0xCC6D)") 00093 cpp_quote("#define IXP_E_SMTP_553_MAILBOX_NAME_SYNTAX HR_E(0xCC6E)") 00094 cpp_quote("#define IXP_E_SMTP_554_TRANSACT_FAILED HR_E(0xCC6F)") 00095 00096 /* SMTP Success Statuses */ 00097 cpp_quote("#define IXP_E_SMTP_211_SYSTEM_STATUS HR_S(0xCC70)") 00098 cpp_quote("#define IXP_E_SMTP_214_HELP_MESSAGE HR_S(0xCC71)") 00099 cpp_quote("#define IXP_E_SMTP_220_READY HR_S(0xCC72)") 00100 cpp_quote("#define IXP_E_SMTP_221_CLOSING HR_S(0xCC73)") 00101 cpp_quote("#define IXP_E_SMTP_250_MAIL_ACTION_OKAY HR_S(0xCC74)") 00102 cpp_quote("#define IXP_E_SMTP_251_FORWARDING_MAIL HR_S(0xCC75)") 00103 cpp_quote("#define IXP_E_SMTP_354_START_MAIL_INPUT HR_S(0xCC76)") 00104 cpp_quote("#define IXP_E_SMTP_CONTINUE HR_S(0xCC77)") 00105 cpp_quote("#define IXP_E_SMTP_334_AUTH_READY_RESPONSE HR_S(0xCC78)") 00106 cpp_quote("#define IXP_E_SMTP_245_AUTH_SUCCESS HR_S(0xCC79)") 00107 00108 /* More SMTP Failure Statuses */ 00109 cpp_quote("#define IXP_E_SMTP_REJECTED_SENDER HR_E(0xCC78)") 00110 cpp_quote("#define IXP_E_SMTP_REJECTED_RECIPIENTS HR_E(0xCC79)") 00111 cpp_quote("#define IXP_E_SMTP_NO_SENDER HR_E(0xCC7A)") 00112 cpp_quote("#define IXP_E_SMTP_NO_RECIPIENTS HR_E(0xCC7B)") 00113 cpp_quote("#define IXP_E_SMTP_530_STARTTLS_REQUIRED HR_E(0xCC7C)") 00114 cpp_quote("#define IXP_E_SMTP_NO_STARTTLS_SUPPORT HR_E(0xCC7D)") 00115 cpp_quote("#define IXP_E_SMTP_NO_DSN_SUPPORT HR_E(0xCC7E)") 00116 cpp_quote("#define IXP_E_SMTP_454_STARTTLS_FAILED HR_E(0xCC7F)") 00117 00118 const SHORT CCHMAX_DOMAIN = 256; 00119 const SHORT CCHMAX_PHONE_NUMBER = 128; 00120 00121 const DWORD DEFAULT_IMAP_PORT = 143; 00122 const DWORD DEFAULT_POP3_PORT = 110; 00123 const DWORD DEFAULT_SMTP_PORT = 25; 00124 const DWORD DEFAULT_NNTP_PORT = 119; 00125 00126 typedef enum tagINETADDRTYPE 00127 { 00128 ADDR_TO, 00129 ADDR_FROM, 00130 ADDR_DSN_NEVER = 16, 00131 ADDR_DSN_SUCCESS = 32, 00132 ADDR_DSN_FAILURE = 64, 00133 ADDR_DSN_DELAY = 128 00134 } INETADDRTYPE; 00135 00136 const DWORD ADDR_TOFROM_MASK = 0x1; 00137 const DWORD ADDR_DSN_MASK = 0xf0; 00138 00139 typedef enum tagDSNRET 00140 { 00141 DSNRET_DEFAULT, 00142 DSNRET_HDRS, 00143 DSNRET_FULL, 00144 } DSNRET; 00145 00146 typedef struct tagINETADDR 00147 { 00148 INETADDRTYPE addrtype; 00149 CHAR szEmail[CCHMAX_EMAIL_ADDRESS]; 00150 } INETADDR, *LPINETADDR; 00151 00152 typedef struct tagINETADDRLIST 00153 { 00154 ULONG cAddress; 00155 LPINETADDR prgAddress; 00156 } INETADDRLIST, *LPINETADDRLIST; 00157 00158 typedef enum tagRASCONNTYPE 00159 { 00160 RAS_CONNECT_LAN, 00161 RAS_CONNECT_MANUAL, 00162 RAS_CONNECT_RAS 00163 } RASCONNTYPE; 00164 00165 typedef enum tagHTTPMAILPROPTYPE 00166 { 00167 HTTPMAIL_PROP_INVALID, 00168 HTTPMAIL_PROP_ADBAR, 00169 HTTPMAIL_PROP_CONTACTS, 00170 HTTPMAIL_PROP_INBOX, 00171 HTTPMAIL_PROP_OUTBOX, 00172 HTTPMAIL_PROP_SENDMSG, 00173 HTTPMAIL_PROP_SENTITEMS, 00174 HTTPMAIL_PROP_DELETEDITEMS, 00175 HTTPMAIL_PROP_DRAFTS, 00176 HTTPMAIL_PROP_MSGFOLDERROOT, 00177 HTTPMAIL_PROP_SIG, 00178 HTTPMAIL_PROP_LAST 00179 } HTTPMAILPROPTYPE; 00180 00181 typedef enum tagHTTPMAILSPECIALFOLDER 00182 { 00183 HTTPMAIL_SF_NONE, 00184 HTTPMAIL_SF_UNRECOGNIZED, 00185 HTTPMAIL_SF_INBOX, 00186 HTTPMAIL_SF_DELETEDITEMS, 00187 HTTPMAIL_SF_DRAFTS, 00188 HTTPMAIL_SF_OUTBOX, 00189 HTTPMAIL_SF_SENTITEMS, 00190 HTTPMAIL_SF_CONTACTS, 00191 HTTPMAIL_SF_CALENDAR, 00192 HTTPMAIL_SF_MSNPROMO, 00193 HTTPMAIL_SF_LAST 00194 } HTTPMAILSPECIALFOLDER; 00195 00196 typedef enum tagHTTPMAILCONTACTTYPE 00197 { 00198 HTTPMAIL_CT_CONTACT, 00199 HTTPMAIL_CT_GROUP, 00200 HTTPMAIL_CT_LAST 00201 } HTTPMAILCONTACTTYPE; 00202 00203 const DWORD DAVNAMESPACE_UNKNOWN = 0xFFFFFFFF; 00204 const DWORD DAVNAMESPACE_DAV = 0; 00205 const DWORD DAVNAMESPACE_HOTMAIL = 1; 00206 const DWORD DAVNAMESPACE_HTTPMAIL = 2; 00207 const DWORD DAVNAMESPACE_MAIL = 3; 00208 const DWORD DAVNAMESPACE_CONTACTS = 4; 00209 00210 cpp_quote("#define ISF_SMTP_USEIPFORHELO 0x01") 00211 cpp_quote("#define ISF_ALWAYSPROMPTFORPASSWORD 0x02") 00212 /* for SMTP - send EHLO and use STARTTLS if available: */ 00213 cpp_quote("#define ISF_SSLONSAMEPORT 0x04") 00214 cpp_quote("#define ISF_QUERYDSNSUPPORT 0x08") 00215 /* for SMTP - send EHLO and use AUTH if available: */ 00216 cpp_quote("#define ISF_QUERYAUTHSUPPORT 0x10") 00217 00218 typedef struct INETSERVER 00219 { 00220 CHAR szAccount[CCHMAX_ACCOUNT_NAME]; 00221 CHAR szUserName[CCHMAX_USERNAME]; 00222 CHAR szPassword[CCHMAX_PASSWORD]; 00223 CHAR szServerName[CCHMAX_SERVER_NAME]; 00224 CHAR szConnectoid[CCHMAX_CONNECTOID]; 00225 RASCONNTYPE rasconntype; 00226 DWORD dwPort; 00227 BOOL fSSL; 00228 BOOL fTrySicily; 00229 DWORD dwTimeout; 00230 DWORD dwFlags; 00231 } INETSERVER, *LPINETSERVER; 00232 00233 typedef enum tagIXPTYPE 00234 { 00235 IXP_NNTP, 00236 IXP_SMTP, 00237 IXP_POP3, 00238 IXP_IMAP, 00239 IXP_RAS, 00240 IXP_HTTPMail 00241 } IXPTYPE; 00242 00243 typedef enum tagIXPSTATUS 00244 { 00245 IXP_FINDINGHOST, 00246 IXP_CONNECTING, 00247 IXP_SECURING, 00248 IXP_CONNECTED, 00249 IXP_AUTHORIZING, 00250 IXP_AUTHRETRY, 00251 IXP_AUTHORIZED, 00252 IXP_DISCONNECTING, 00253 IXP_DISCONNECTED, 00254 IXP_LAST 00255 } IXPSTATUS; 00256 00257 const DWORD DEPTH_INFINITY = 0xFFFFFFFE; 00258 00259 typedef DWORD MEMBERINFOFLAGS; 00260 00261 const MEMBERINFOFLAGS HTTP_MEMBERINFO_COMMONPROPS = 0x0; 00262 const MEMBERINFOFLAGS HTTP_MEMBERINFO_FOLDERPROPS = 0x1; 00263 const MEMBERINFOFLAGS HTTP_MEMBERINFO_MESSAGEPROPS = 0x2; 00264 const MEMBERINFOFLAGS HTTP_MEMBERINFO_ALLPROPS = HTTP_MEMBERINFO_FOLDERPROPS | HTTP_MEMBERINFO_MESSAGEPROPS; 00265 00266 typedef DWORD IMAP_MSGFLAGS; 00267 00268 const IMAP_MSGFLAGS IMAP_MSG_NOFLAGS = 0x00; 00269 const IMAP_MSGFLAGS IMAP_MSG_ANSWERED = 0x01; 00270 const IMAP_MSGFLAGS IMAP_MSG_FLAGGED = 0x02; 00271 const IMAP_MSGFLAGS IMAP_MSG_DELETED = 0x04; 00272 const IMAP_MSGFLAGS IMAP_MSG_SEEN = 0x08; 00273 const IMAP_MSGFLAGS IMAP_MSG_DRAFT = 0x10; 00274 const IMAP_MSGFLAGS IMAP_MSG_ALLFLAGS = 0x1f; 00275 00276 [ 00277 object, 00278 uuid(CA30F3FF-C9AC-11D1-9A3A-00C04FA309D4), 00279 local 00280 ] 00281 interface ITransportCallbackService : IUnknown 00282 { 00283 HRESULT GetParentWindow( 00284 [in] DWORD dwReserved, 00285 [out] HWND *phwndParent); 00286 00287 HRESULT GetAccount( 00288 [out] LPDWORD pdwServerType, 00289 [out] IImnAccount **ppAccount); 00290 } 00291 00292 [ 00293 object, 00294 uuid(0DF2C7E1-3435-11D0-81D0-00C04FD85AB4), 00295 local 00296 ] 00297 interface ITransportCallback : IUnknown 00298 { 00299 typedef struct tagIXPRESULT 00300 { 00301 HRESULT hrResult; 00302 LPSTR pszResponse; 00303 UINT uiServerError; 00304 HRESULT hrServerError; 00305 DWORD dwSocketError; 00306 LPSTR pszProblem; 00307 } IXPRESULT, *LPIXPRESULT; 00308 00309 typedef enum tagCMDTYPE 00310 { 00311 CMD_SEND, 00312 CMD_RESP 00313 } CMDTYPE; 00314 00315 HRESULT OnTimeout( 00316 [in,out] DWORD *pdwTimeout, 00317 [in] IInternetTransport *pTransport); 00318 00319 HRESULT OnLogonPrompt( 00320 [in,out] LPINETSERVER pInetServer, 00321 [in] IInternetTransport *pTransport); 00322 00323 INT OnPrompt( 00324 [in] HRESULT hrError, 00325 [in] LPCSTR pszText, 00326 [in] LPCSTR pszCaption, 00327 [in] UINT uType, 00328 [in] IInternetTransport *pTransport); 00329 00330 HRESULT OnStatus( 00331 [in] IXPSTATUS ixpstatus, 00332 [in] IInternetTransport *pTransport); 00333 00334 HRESULT OnError( 00335 [in] IXPSTATUS ixpstatus, 00336 [in] LPIXPRESULT pResult, 00337 [in] IInternetTransport *pTransport); 00338 00339 HRESULT OnCommand( 00340 [in] CMDTYPE cmdtype, 00341 [in] LPSTR pszLine, 00342 [in] HRESULT hrResponse, 00343 [in] IInternetTransport *pTransport); 00344 } 00345 00346 [ 00347 object, 00348 uuid(1F636C01-364E-11D0-81D3-00C04FD85AB4), 00349 local 00350 ] 00351 interface IInternetTransport : IUnknown 00352 { 00353 const boolean iitAUTHENTICATE = TRUE; 00354 const boolean iitDONT_AUTHENTICATe = FALSE; 00355 const boolean iitENABLE_ONCOMMAND = TRUE; 00356 const boolean iitDISABLE_ONCOMMAND = FALSE; 00357 00358 typedef enum tagIXPISSTATE 00359 { 00360 IXP_IS_CONNECTED, 00361 IXP_IS_BUSY, 00362 IXP_IS_READY, 00363 IXP_IS_AUTHENTICATED 00364 } IXPISSTATE; 00365 00366 HRESULT GetServerInfo( 00367 [in,out] LPINETSERVER pInetServer); 00368 00369 IXPTYPE GetIXPType(); 00370 00371 HRESULT IsState( 00372 [in] IXPISSTATE isstate); 00373 00374 HRESULT InetServerFromAccount( 00375 [in] IImnAccount *pAccount, 00376 [in,out] LPINETSERVER pInetServer); 00377 00378 HRESULT Connect( 00379 [in] LPINETSERVER pInetServer, 00380 [in] boolean fAuthenticate, 00381 [in] boolean fCommandLogging); 00382 00383 HRESULT HandsOffCallback(); 00384 00385 HRESULT Disconnect(); 00386 00387 HRESULT DropConnection(); 00388 00389 HRESULT GetStatus( 00390 [out] IXPSTATUS *pCurrentStatus); 00391 } 00392 00393 [ 00394 object, 00395 uuid(1F636C02-364E-11D0-81D3-00C04FD85AB4), 00396 local 00397 ] 00398 interface ISMTPCallback : ITransportCallback 00399 { 00400 typedef enum tagSMTPCOMMAND 00401 { 00402 SMTP_NONE, 00403 SMTP_BANNER, 00404 SMTP_CONNECTED, 00405 SMTP_SEND_MESSAGE, 00406 SMTP_AUTH, 00407 SMTP_EHLO, 00408 SMTP_HELO, 00409 SMTP_MAIL, 00410 SMTP_RCPT, 00411 SMTP_RSET, 00412 SMTP_QUIT, 00413 SMTP_DATA, 00414 SMTP_DOT, 00415 SMTP_SEND_STREAM, 00416 SMTP_CUSTOM 00417 } SMTPCOMMAND; 00418 00419 typedef struct tagSMTPSTREAM 00420 { 00421 DWORD cbIncrement; 00422 DWORD cbCurrent; 00423 DWORD cbTotal; 00424 } SMTPSTREAM, *LPSMTPSTREAM; 00425 00426 typedef struct tagSMTPRESPONSE 00427 { 00428 SMTPCOMMAND command; 00429 BOOL fDone; 00430 IXPRESULT rIxpResult; 00431 ISMTPTransport *pTransport; 00432 00433 [switch_type(SMTPCOMMAND), switch_is(command)] 00434 union 00435 { 00436 [case(SMTP_SEND_STREAM)] SMTPSTREAM rStreamInfo; 00437 [default]; 00438 } DUMMYUNIONNAME; 00439 } SMTPRESPONSE, *LPSMTPRESPONSE; 00440 00441 HRESULT OnResponse( 00442 [in] LPSMTPRESPONSE pResponse); 00443 } 00444 00445 [ 00446 object, 00447 uuid(0DF2C7E2-3435-11D0-81D0-00C04FD85AB4), 00448 local 00449 ] 00450 interface ISMTPTransport : IInternetTransport 00451 { 00452 typedef struct tagSMTPMESSAGE 00453 { 00454 ULONG cbSize; 00455 LPSTREAM pstmMsg; 00456 INETADDRLIST rAddressList; 00457 } SMTPMESSAGE, *LPSMTPMESSAGE; 00458 00459 HRESULT InitNew( 00460 [in] LPSTR pszLogFilePath, 00461 [in] ISMTPCallback *pCallback); 00462 00463 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") 00464 cpp_quote("#undef SendMessage") 00465 cpp_quote("#endif") 00466 00467 HRESULT SendMessage( 00468 [in] LPSMTPMESSAGE pMessage); 00469 00470 HRESULT CommandMAIL( 00471 [in] LPSTR pszEmailFrom); 00472 00473 HRESULT CommandRCPT( 00474 [in] LPSTR pszEmailTo); 00475 00476 HRESULT CommandEHLO(); 00477 00478 HRESULT CommandHELO(); 00479 00480 HRESULT CommandAUTH( 00481 [in] LPSTR pszAuthType); 00482 00483 HRESULT CommandQUIT(); 00484 00485 HRESULT CommandRSET(); 00486 00487 HRESULT CommandDATA(); 00488 00489 HRESULT CommandDOT(); 00490 00491 HRESULT SendDataStream( 00492 [in] IStream *pStream, 00493 [in] ULONG cbSize); 00494 } 00495 00496 [ 00497 object, 00498 uuid(0DF2C7EC-3435-11D0-81D0-00C04FD85AB4), 00499 local 00500 ] 00501 interface ISMTPTransport2 : ISMTPTransport 00502 { 00503 typedef struct tagSMTPMESSAGE2 00504 { 00505 SMTPMESSAGE smtpMsg; 00506 LPSTR pszDSNENVID; 00507 DSNRET dsnRet; 00508 DWORD dwReserved; 00509 DWORD dwReserved2; 00510 } SMTPMESSAGE2, *LPSMTPMESSAGE2; 00511 00512 HRESULT SetWindow(); 00513 00514 HRESULT ResetWindow(); 00515 00516 HRESULT SendMessage2( 00517 [in] LPSMTPMESSAGE2 pMessage); 00518 00519 HRESULT CommandRCPT2( 00520 [in] LPSTR pszEmailTo, 00521 [in] INETADDRTYPE atDSN); 00522 } 00523 00524 /* FIXME: IDAVNamespaceArbiter, IPropPatchRequest, IPropFindRequest, IPropFindMultiResponse, IPropFindResponse, IHTTPMailCallback, IHTTPMailTransport */ 00525 00526 [ 00527 object, 00528 uuid(0DF2C7E3-3435-11D0-81D0-00C04FD85AB4), 00529 local 00530 ] 00531 interface IPOP3Callback : ITransportCallback 00532 { 00533 typedef enum tagPOP3COMMAND 00534 { 00535 POP3_NONE, 00536 POP3_BANNER, 00537 POP3_CONNECTED, 00538 POP3_USER, 00539 POP3_PASS, 00540 POP3_AUTH, 00541 POP3_UIDL, 00542 POP3_STAT, 00543 POP3_LIST, 00544 POP3_DELE, 00545 POP3_RETR, 00546 POP3_TOP, 00547 POP3_NOOP, 00548 POP3_QUIT, 00549 POP3_RSET, 00550 POP3_CUSTOM 00551 } POP3COMMAND; 00552 00553 typedef struct tagPOP3RETR 00554 { 00555 BOOL fHeader; 00556 BOOL fBody; 00557 DWORD dwPopId; 00558 DWORD cbSoFar; 00559 LPSTR pszLines; 00560 ULONG cbLines; 00561 } POP3RETR, *LPPOP3RETR; 00562 00563 typedef struct tagPOP3TOP 00564 { 00565 BOOL fHeader; 00566 BOOL fBody; 00567 DWORD dwPopId; 00568 DWORD cPreviewLines; 00569 DWORD cbSoFar; 00570 LPSTR pszLines; 00571 ULONG cbLines; 00572 } POP3TOP, *LPPOP3TOP; 00573 00574 typedef struct tagPOP3LIST 00575 { 00576 DWORD dwPopId; 00577 DWORD cbSize; 00578 } POP3LIST, *LPPOP3LIST; 00579 00580 typedef struct tagPOP3UIDL 00581 { 00582 DWORD dwPopId; 00583 LPSTR pszUidl; 00584 } POP3UIDL, *LPPOP3UIDL; 00585 00586 typedef struct tagPOP3STAT 00587 { 00588 DWORD cMessages; 00589 DWORD cbMessages; 00590 } POP3STAT, *LPPOP3STAT; 00591 00592 typedef struct tagPOP3RESPONSE 00593 { 00594 POP3COMMAND command; 00595 BOOL fDone; 00596 IXPRESULT rIxpResult; 00597 IPOP3Transport *pTransport; 00598 BOOL fValidInfo; 00599 [switch_type(POP3COMMAND), switch_is(command)] 00600 union 00601 { 00602 [case(POP3_UIDL)] POP3UIDL rUidlInfo; 00603 [case(POP3_STAT)] POP3STAT rStatInfo; 00604 [case(POP3_LIST)] POP3LIST rListInfo; 00605 [case(POP3_DELE)] DWORD dwPopId; 00606 [case(POP3_RETR)] POP3RETR rRetrInfo; 00607 [case(POP3_TOP)] POP3TOP rTopInfo; 00608 [default]; 00609 } DUMMYUNIONNAME; 00610 } POP3RESPONSE, *LPPOP3RESPONSE; 00611 00612 HRESULT OnResponse( 00613 [in] LPPOP3RESPONSE pResponse); 00614 } 00615 00616 [ 00617 object, 00618 uuid(0DF2C7E4-3435-11D0-81D0-00C04FD85AB4), 00619 local 00620 ] 00621 interface IPOP3Transport : IInternetTransport 00622 { 00623 typedef enum tagPOP3CMDTYPE 00624 { 00625 POP3CMD_GET_POPID, 00626 POP3CMD_GET_MARKED, 00627 POP3CMD_GET_ALL 00628 } POP3CMDTYPE; 00629 00630 typedef enum tagPOP3MARKTYPE 00631 { 00632 POP3_MARK_FOR_TOP = 0x01, 00633 POP3_MARK_FOR_RETR = 0x02, 00634 POP3_MARK_FOR_DELE = 0x04, 00635 POP3_MARK_FOR_UIDL = 0x08, 00636 POP3_MARK_FOR_LIST = 0x10 00637 } POP3MARKTYPE; 00638 00639 HRESULT InitNew( 00640 [in] LPSTR pszLogFilePath, 00641 [in] IPOP3Callback *pCallback); 00642 00643 HRESULT MarkItem( 00644 [in] POP3MARKTYPE marktype, 00645 [in] DWORD dwPopId, 00646 [in] boolean fMarked); 00647 00648 HRESULT CommandAUTH( 00649 [in] LPSTR pszAuthType); 00650 00651 HRESULT CommandUSER( 00652 [in] LPSTR pszUserName); 00653 00654 HRESULT CommandPASS( 00655 [in] LPSTR pszPassword); 00656 00657 HRESULT CommandLIST( 00658 [in] POP3CMDTYPE cmdtype, 00659 [in] DWORD dwPopId); 00660 00661 HRESULT CommandTOP( 00662 [in] POP3CMDTYPE cmdtype, 00663 [in] DWORD dwPopId, 00664 [in] DWORD cPreviewLines); 00665 00666 HRESULT CommandQUIT(); 00667 00668 HRESULT CommandSTAT(); 00669 00670 HRESULT CommandNOOP(); 00671 00672 HRESULT CommandRSET(); 00673 00674 HRESULT CommandUIDL( 00675 [in] POP3CMDTYPE cmdtype, 00676 [in] DWORD dwPopId); 00677 00678 HRESULT CommandDELE( 00679 [in] POP3CMDTYPE cmdtype, 00680 [in] DWORD dwPopId); 00681 00682 HRESULT CommandRETR( 00683 [in] POP3CMDTYPE cmdtype, 00684 [in] DWORD dwPopId); 00685 } 00686 00687 /* FIXME: INNTPCallback, INNTPTransport */ 00688 00689 [ 00690 object, 00691 uuid(8C438160-4EF6-11d0-874F-00AA00530EE9), 00692 local, 00693 ] 00694 interface IRangeList : IUnknown 00695 { 00696 const ULONG RL_RANGE_ERROR = ((ULONG)-1); 00697 const ULONG RL_LAST_MESSAGE = ((ULONG)-1); 00698 00699 HRESULT Clear(); 00700 00701 HRESULT IsInRange( 00702 [in] const ULONG value); 00703 00704 HRESULT Min( 00705 [out] ULONG *pulMin); 00706 00707 HRESULT Max( 00708 [out] ULONG *pulMax); 00709 00710 HRESULT Save( 00711 [out] byte **ppbDestination, 00712 [out] ULONG *pulSizeOfDestination); 00713 00714 HRESULT Load( 00715 [in, size_is(ulSizeOfSource)] byte *pbSource, 00716 [in] const ULONG ulSizeOfSource); 00717 00718 HRESULT AddRange( 00719 [in] const ULONG low, 00720 [in] const ULONG high); 00721 00722 HRESULT AddSingleValue( 00723 [in] const ULONG value); 00724 00725 HRESULT AddRangeList( 00726 [in] const IRangeList *prl); 00727 00728 HRESULT DeleteRange( 00729 [in] const ULONG low, 00730 [in] const ULONG high); 00731 00732 HRESULT DeleteSingleValue( 00733 [in] const ULONG value); 00734 00735 HRESULT DeleteRangeList( 00736 [in] const IRangeList *prl); 00737 00738 HRESULT MinOfRange( 00739 [in] const ULONG value, 00740 [out] ULONG *pulMinOfRange); 00741 00742 HRESULT MaxOfRange( 00743 [in] const ULONG value, 00744 [out] ULONG *pulMaxOfRange); 00745 00746 HRESULT RangeToIMAPString( 00747 [out] LPSTR *ppszDestination, 00748 [out] LPDWORD pdwLengthOfDestination); 00749 00750 HRESULT Next( 00751 [in] const ULONG current, 00752 [out] ULONG *pulNext); 00753 00754 HRESULT Prev( 00755 [in] const ULONG current, 00756 [out] ULONG *pulPrev); 00757 00758 HRESULT Cardinality( 00759 [out] ULONG *pulCardinality); 00760 00761 HRESULT CardinalityFrom( 00762 [in] const ULONG ulStartPoint, 00763 [out] ULONG *pulCardinalityFrom); 00764 } 00765 00766 [ 00767 object, 00768 uuid(E9E9D8A3-4EDD-11d0-874F-00AA00530EE9), 00769 local 00770 ] 00771 interface IIMAPCallback : ITransportCallback 00772 { 00773 typedef DWORD IMAP_MBOXFLAGS; 00774 const IMAP_MBOXFLAGS IMAP_MBOX_NOFLAGS = 0x0; 00775 const IMAP_MBOXFLAGS IMAP_MBOX_MARKED = 0x1; 00776 const IMAP_MBOXFLAGS IMAP_MBOX_NOINFERIORS = 0x2; 00777 const IMAP_MBOXFLAGS IMAP_MBOX_NOSELECT = 0x4; 00778 const IMAP_MBOXFLAGS IMAP_MBOX_UNMARKED = 0x8; 00779 const IMAP_MBOXFLAGS IMAP_MBOX_ALLFLAGS = 0xf; 00780 00781 typedef enum tagIMAP_RESPONSE_TYPE 00782 { 00783 irtERROR_NOTIFICATION, 00784 irtCOMMAND_COMPLETION, 00785 irtSERVER_ALERT, 00786 irtPARSE_ERROR, 00787 irtMAILBOX_UPDATE, 00788 irtDELETED_MSG, 00789 irtFETCH_BODY, 00790 irtUPDATE_MSG, 00791 irtAPPLICABLE_FLAGS, 00792 irtPERMANENT_FLAGS, 00793 irtUIDVALIDITY, 00794 irtREADWRITE_STATUS, 00795 irtTRYCREATE, 00796 irtSEARCH, 00797 irtMAILBOX_LISTING, 00798 irtMAILBOX_STATUS, 00799 irtAPPEND_PROGRESS, 00800 irtUPDATE_MSG_EX 00801 } IMAP_RESPONSE_TYPE; 00802 00803 typedef struct tagFETCH_BODY_PART 00804 { 00805 DWORD dwMsgSeqNum; 00806 LPSTR pszBodyTag; 00807 DWORD dwTotalBytes; 00808 DWORD dwSizeOfData; 00809 DWORD dwOffset; 00810 BOOL fDone; 00811 LPSTR pszData; 00812 LPARAM lpFetchCookie1; 00813 LPARAM lpFetchCookie2; 00814 } FETCH_BODY_PART; 00815 00816 typedef struct tagFETCH_CMD_RESULTS 00817 { 00818 DWORD dwMsgSeqNum; 00819 BOOL bMsgFlags; 00820 IMAP_MSGFLAGS mfMsgFlags; 00821 BOOL bRFC822Size; 00822 DWORD dwRFC822Size; 00823 BOOL bUID; 00824 DWORD dwUID; 00825 BOOL bInternalDate; 00826 FILETIME ftInternalDate; 00827 LPARAM lpFetchCookie1; 00828 LPARAM lpFetchCookie2; 00829 } FETCH_CMD_RESULTS; 00830 00831 typedef struct tagIMAPADDR 00832 { 00833 LPSTR pszName; 00834 LPSTR pszADL; 00835 LPSTR pszMailbox; 00836 LPSTR pszHost; 00837 struct tagIMAPADDR *pNext; 00838 } IMAPADDR; 00839 00840 typedef struct tagFETCH_CMD_RESULTS_EX 00841 { 00842 DWORD dwMsgSeqNum; 00843 BOOL bMsgFlags; 00844 IMAP_MSGFLAGS mfMsgFlags; 00845 BOOL bRFC822Size; 00846 DWORD dwRFC822Size; 00847 BOOL bUID; 00848 DWORD dwUID; 00849 BOOL bInternalDate; 00850 FILETIME ftInternalDate; 00851 LPARAM lpFetchCookie1; 00852 LPARAM lpFetchCookie2; 00853 BOOL bEnvelope; 00854 FILETIME ftENVDate; 00855 LPSTR pszENVSubject; 00856 IMAPADDR *piaENVFrom; 00857 IMAPADDR *piaENVSender; 00858 IMAPADDR *piaENVReplyTo; 00859 IMAPADDR *piaENVTo; 00860 IMAPADDR *piaENVCc; 00861 IMAPADDR *piaENVBcc; 00862 LPSTR pszENVInReplyTo; 00863 LPSTR pszENVMessageID; 00864 DWORD dwReserved1; 00865 DWORD dwReserved2; 00866 DWORD dwReserved3; 00867 } FETCH_CMD_RESULTS_EX; 00868 00869 typedef struct tagMBOX_MSGCOUNT 00870 { 00871 BOOL bGotExistsResponse; 00872 DWORD dwExists; 00873 BOOL bGotRecentResponse; 00874 DWORD dwRecent; 00875 BOOL bGotUnseenResponse; 00876 DWORD dwUnseen; 00877 } MBOX_MSGCOUNT; 00878 00879 typedef struct tagIMAP_LISTLSUB_RESPONSE 00880 { 00881 LPSTR pszMailboxName; 00882 IMAP_MBOXFLAGS imfMboxFlags; 00883 char cHierarchyChar; 00884 } IMAP_LISTLSUB_RESPONSE; 00885 00886 typedef struct tagIMAP_STATUS_RESPONSE 00887 { 00888 LPSTR pszMailboxName; 00889 BOOL fMessages; 00890 DWORD dwMessages; 00891 BOOL fRecent; 00892 DWORD dwRecent; 00893 BOOL fUIDNext; 00894 DWORD dwUIDNext; 00895 BOOL fUIDValidity; 00896 DWORD dwUIDValidity; 00897 BOOL fUnseen; 00898 DWORD dwUnseen; 00899 } IMAP_STATUS_RESPONSE; 00900 00901 typedef struct tagAPPEND_PROGRESS 00902 { 00903 DWORD dwUploaded; 00904 DWORD dwTotal; 00905 } APPEND_PROGRESS; 00906 00907 typedef [switch_type(IMAP_RESPONSE_TYPE)] union tagIMAP_RESPONSE_DATA 00908 { 00909 [case (irtMAILBOX_UPDATE)] MBOX_MSGCOUNT *pmcMsgCount; 00910 [case (irtDELETED_MSG)] DWORD dwDeletedMsgSeqNum; 00911 [case (irtFETCH_BODY)] FETCH_BODY_PART *pFetchBodyPart; 00912 [case (irtUPDATE_MSG)] FETCH_CMD_RESULTS *pFetchResults; 00913 [case (irtAPPLICABLE_FLAGS, irtPERMANENT_FLAGS)] IMAP_MSGFLAGS imfImapMessageFlags; 00914 [case (irtUIDVALIDITY)] DWORD dwUIDValidity; 00915 [case (irtREADWRITE_STATUS)] BOOL bReadWrite; 00916 [case (irtSEARCH)] IRangeList *prlSearchResults; 00917 [case (irtMAILBOX_LISTING)] IMAP_LISTLSUB_RESPONSE illrdMailboxListing; 00918 [case (irtMAILBOX_STATUS)] IMAP_STATUS_RESPONSE *pisrStatusResponse; 00919 [case (irtAPPEND_PROGRESS)] APPEND_PROGRESS *papAppendProgress; 00920 [case (irtUPDATE_MSG_EX)] FETCH_CMD_RESULTS_EX *pFetchResultsEx; 00921 } IMAP_RESPONSE_DATA; 00922 00923 typedef struct tagIMAP_RESPONSE 00924 { 00925 WPARAM wParam; 00926 LPARAM lParam; 00927 HRESULT hrResult; 00928 LPSTR lpszResponseText; 00929 IMAP_RESPONSE_TYPE irtResponseType; 00930 [switch_is(irtResponseType)] IMAP_RESPONSE_DATA irdResponseData; 00931 } IMAP_RESPONSE; 00932 00933 HRESULT OnResponse([in] const IMAP_RESPONSE *pirIMAPResponse); 00934 } 00935 00936 [ 00937 object, 00938 uuid(E9E9D8A8-4EDD-11d0-874F-00AA00530EE9), 00939 local, 00940 ] 00941 interface IIMAPTransport : IInternetTransport 00942 { 00943 const DWORD IMAP_CAPABILITY_IMAP4 = 0x1; 00944 const DWORD IMAP_CAPABILITY_IMAP4rev1 = 0x2; 00945 const DWORD IMAP_CAPABILITY_IDLE = 0x4; 00946 const DWORD IMAP_CAPABILITY_ALLFLAGS = 0x7; 00947 00948 HRESULT InitNew( 00949 [in] LPSTR pszLogFilePath, 00950 [in] IIMAPCallback *pCBHandler); 00951 00952 HRESULT NewIRangeList( 00953 [out] IRangeList **pprlNewRangeList); 00954 00955 HRESULT Capability( 00956 [out] DWORD *pdwCapabilityFlags); 00957 00958 HRESULT Select( 00959 [in] WPARAM wParam, 00960 [in] LPARAM lParam, 00961 [in] IIMAPCallback *pCBHandler, 00962 [in] LPSTR lpszMailboxName); 00963 00964 HRESULT Examine( 00965 [in] WPARAM wParam, 00966 [in] LPARAM lParam, 00967 [in] IIMAPCallback *pCBHandler, 00968 [in] LPSTR lpszMailboxName); 00969 00970 HRESULT Create( 00971 [in] WPARAM wParam, 00972 [in] LPARAM lParam, 00973 [in] IIMAPCallback *pCBHandler, 00974 [in] LPSTR lpszMailboxName); 00975 00976 HRESULT Delete( 00977 [in] WPARAM wParam, 00978 [in] LPARAM lParam, 00979 [in] IIMAPCallback *pCBHandler, 00980 [in] LPSTR lpszMailboxName); 00981 00982 HRESULT Rename( 00983 [in] WPARAM wParam, 00984 [in] LPARAM lParam, 00985 [in] IIMAPCallback *pCBHandler, 00986 [in] LPSTR lpszMailboxName, 00987 [in] LPSTR lpszNewMailboxName); 00988 00989 HRESULT Subscribe( 00990 [in] WPARAM wParam, 00991 [in] LPARAM lParam, 00992 [in] IIMAPCallback *pCBHandler, 00993 [in] LPSTR lpszMailboxName); 00994 00995 HRESULT Unsubscribe( 00996 [in] WPARAM wParam, 00997 [in] LPARAM lParam, 00998 [in] IIMAPCallback *pCBHandler, 00999 [in] LPSTR lpszMailboxName); 01000 01001 HRESULT List( 01002 [in] WPARAM wParam, 01003 [in] LPARAM lParam, 01004 [in] IIMAPCallback *pCBHandler, 01005 [in] LPSTR lpszMailboxNameReference, 01006 [in] LPSTR lpszMailboxNamePattern); 01007 01008 HRESULT Lsub( 01009 [in] WPARAM wParam, 01010 [in] LPARAM lParam, 01011 [in] IIMAPCallback *pCBHandler, 01012 [in] LPSTR lpszMailboxNameReference, 01013 [in] LPSTR lpszMailboxNamePattern); 01014 01015 HRESULT Append( 01016 [in] WPARAM wParam, 01017 [in] LPARAM lParam, 01018 [in] IIMAPCallback *pCBHandler, 01019 [in] LPSTR lpszMailboxName, 01020 [in] LPSTR lpszMessageFlags, 01021 [in] FILETIME ftMessageDateTime, 01022 [in] LPSTREAM lpstmMessageToSave); 01023 01024 HRESULT Close( 01025 [in] WPARAM wParam, 01026 [in] LPARAM lParam, 01027 [in] IIMAPCallback *pCBHandler); 01028 01029 HRESULT Expunge( 01030 [in] WPARAM wParam, 01031 [in] LPARAM lParam, 01032 [in] IIMAPCallback *pCBHandler); 01033 01034 HRESULT Search( 01035 [in] WPARAM wParam, 01036 [in] LPARAM lParam, 01037 [in] IIMAPCallback *pCBHandler, 01038 [in] LPSTR lpszSearchCriteria, 01039 [in] boolean bReturnUIDs, 01040 [in] IRangeList *pMsgRange, 01041 [in] boolean bUIDRangeList); 01042 01043 HRESULT Fetch( 01044 [in] WPARAM wParam, 01045 [in] LPARAM lParam, 01046 [in] IIMAPCallback *pCBHandler, 01047 [in] IRangeList *pMsgRange, 01048 [in] boolean bUIDMsgRange, 01049 [in] LPSTR lpszFetchArgs); 01050 01051 HRESULT Store( 01052 [in] WPARAM wParam, 01053 [in] LPARAM lParam, 01054 [in] IIMAPCallback *pCBHandler, 01055 [in] IRangeList *pMsgRange, 01056 [in] boolean bUIDRangeList, 01057 [in] LPSTR lpszStoreArgs); 01058 01059 HRESULT Copy( 01060 [in] WPARAM wParam, 01061 [in] LPARAM lParam, 01062 [in] IIMAPCallback *pCBHandler, 01063 [in] IRangeList *pMsgRange, 01064 [in] boolean bUIDRangeList, 01065 [in] LPSTR lpszMailboxName); 01066 01067 HRESULT Noop( 01068 [in] WPARAM wParam, 01069 [in] LPARAM lParam, 01070 [in] IIMAPCallback *pCBHandler); 01071 01072 HRESULT ResizeMsgSeqNumTable( 01073 [in] DWORD dwSizeOfMbox); 01074 01075 HRESULT UpdateSeqNumToUID( 01076 [in] DWORD dwMsgSeqNum, 01077 [in] DWORD dwUID); 01078 01079 HRESULT RemoveSequenceNum( 01080 [in] DWORD dwDeletedMsgSeqNum); 01081 01082 HRESULT MsgSeqNumToUID( 01083 [in] DWORD dwMsgSeqNum, 01084 [out] DWORD *pdwUID); 01085 01086 HRESULT GetMsgSeqNumToUIDArray( 01087 [out] DWORD **ppdwMsgSeqNumToUIDArray, 01088 [out] DWORD *pdwNumberOfElements); 01089 01090 HRESULT GetHighestMsgSeqNum( 01091 [out] DWORD *pdwHighestMSN); 01092 01093 HRESULT ResetMsgSeqNumToUID(); 01094 01095 HRESULT SetDefaultCBHandler( 01096 [in] IIMAPCallback *pCBHandler); 01097 01098 HRESULT Status( 01099 [in] WPARAM wParam, 01100 [in] LPARAM lParam, 01101 [in] IIMAPCallback *pCBHandler, 01102 [in] LPSTR pszMailboxName, 01103 [in] LPSTR pszStatusCmdArgs); 01104 } 01105 01106 #if 0 01107 cpp_quote("HRESULT WINAPI CreateRASTransport(IRASTransport **ppTransport);") 01108 cpp_quote("HRESULT WINAPI CreateNNTPTransport(INNTPTransport **ppTransport);") 01109 cpp_quote("HRESULT WINAPI CreateIMAPTransport2(IIMAPTransport2 **ppTransport);") 01110 #endif 01111 cpp_quote("HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList);") 01112 cpp_quote("HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport);") 01113 cpp_quote("HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport);") 01114 cpp_quote("HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport);") Generated on Sat May 26 2012 04:30:16 for ReactOS by
1.7.6.1
|