首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MAPILogonEx(...)从MAPILogOn(...)调用时返回NULL

MAPILogonEx(...)是一个函数,用于在Windows操作系统中登录到Microsoft Exchange Server的邮件系统。它是Microsoft Outlook的一部分,用于建立与Exchange Server的连接。

当MAPILogOn(...)调用返回NULL时,可能有以下几种原因:

  1. 无效的登录凭据:MAPILogOn(...)函数需要有效的用户名和密码来进行登录。如果提供的凭据无效,函数将返回NULL。在这种情况下,需要确保提供的用户名和密码是正确的,并且具有足够的权限来登录到Exchange Server。
  2. 网络连接问题:MAPILogOn(...)函数需要与Exchange Server建立网络连接。如果存在网络连接问题,例如网络不可用或连接超时,函数可能无法成功登录并返回NULL。在这种情况下,需要检查网络连接是否正常,并确保可以访问Exchange Server。
  3. Exchange Server配置问题:MAPILogOn(...)函数可能无法成功登录,如果Exchange Server的配置存在问题。例如,Exchange Server可能未正确配置以接受来自客户端的登录请求,或者存在其他配置错误。在这种情况下,需要检查Exchange Server的配置,并确保它与MAPILogOn(...)函数的要求相匹配。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云提供了一系列与云计算相关的产品和服务,包括云服务器、云数据库、云存储、人工智能等。以下是一些相关产品和其介绍链接:

  1. 云服务器(CVM):腾讯云的云服务器提供了可扩展的计算能力,可用于部署和运行各种应用程序。了解更多:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):腾讯云的云数据库MySQL版提供了高性能、可扩展的MySQL数据库服务。了解更多:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):腾讯云的云存储提供了安全、可靠的对象存储服务,可用于存储和管理各种类型的数据。了解更多:https://cloud.tencent.com/product/cos
  4. 人工智能(AI):腾讯云的人工智能服务包括图像识别、语音识别、自然语言处理等功能,可用于构建智能化的应用程序。了解更多:https://cloud.tencent.com/product/ai

请注意,以上链接仅为腾讯云相关产品的介绍页面,具体的使用方法和操作步骤可以在相应的产品文档中找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在 React 16 中 setState 返回 null 的妙用

在调用 .setState 时返回 null 将不再触发更新。...解决方案 以下是我们将要遵循的步骤,来防止不必要的重新渲染: 检查新的状态值是否与现有值相同 如果值相同,我们将返回 null 返回 null 将不会更新状态和触发组件重新渲染 首先,在 app 组件的...如果值相同,setState 将返回 null。否则 setState 返回更新的 mocktail 状态,这将触发使用新状态重新渲染 Mocktail 组件。...没有 setState 返回 null ? setState 返回 null 之后 注意:我在这里换了一个深色主题,以便更容易观察到 React DOM 中的更新。...总结 本文介绍了在 React 16 中怎样 setState 返回 null。我在下面的 CodeSandbox 中添加了 mocktail 选择程序的完整代码,供你使用和 fork。

14.5K20

CEMAPI实战攻略(二)——建立与短信信箱的连接

FAR * lppSession ); MAPILOGONEX MAPILogonEx; 定义中可以看出MAPILogonEx函数返回一个HRESULT类型,采用宏FAILED和SUCCESSED...调用方法如下: IMAPISession *m_pSession=NULL; hr=MAPILogonEx(NULL,NULL,NULL,NULL,&m_pSession); if(FAILED(hr...前两个参数的意义与MAPILogonEx中的同名参数相同,最后一个参数保留不用。对于短信操作来说,三个参数均可设置为NULL。...ULONG:指明当前的编码方式,MAPI_UNICODE SPropTagArray**:用于返回具体信箱中获取的属性 最后用IMsgStore对象的OpenEntry方法建立获取指向具体信箱的IMAPIFolder...本节所涉及到的源程序 //获取IMAPISession会话对象 void Session() { IMAPISession *m_pSession=NULL; hr=MAPILogonEx(NULL,

61520
  • 9-委托

    System.MulticastDelegate中有几个重要的私有字段: 字段 类型 描述 _target System.object 指向回函数被调用时应该操作的对象,用于实例方法的回 _mothodPtr...另外_prev被设置为null,该对象用来创建一个委托链表[指向下一个委托对象]。 每个委托对象实际上是对方法及其调用时操作的对象的一个封装。...System.MulticastDelegate类有两个只读的共有属性:Target和Method.当给定一个委托对象时,可以根据Target获得一个方法回时操作的对象引用[静态方法返回null],...[ _prev.Invoke(i);], 当前面委托被调用时,其返回值会被丢弃。...对委托链调用施加更多的控制 由于委托类型的Invoke方法具有调用一个委托类型对象之前的委托对象(如果存在)的能力, 但是除了最后一个回方法的返回值外,其他回方法的返回值都会丢失,无法得到所有回方法的返回

    78160

    异步编程利器 CompletableFuture 玩法详解

    :308ms 如果不采用线程执行,那么总共用时应该会是 200 + 300 = 500 ms,而采用线程来异步执行,总共用时是 308 ms。...因此, Java 8 开始引入了CompletableFuture,它针对Future做了很多的改进,在实现Future接口相关功能之外,还支持传入回对象,当异步任务完成或者发生异常时,自动调用回对象方法...()/thenAcceptAsync():它表示上一个任务执行成功后的回方法,有入参,无返回值 thenApply()/thenApplyAsync():它表示上一个任务执行成功后的回方法,有入参,...有返回值 whenComplete()/whenCompleteAsync():它表示任务执行完成后的回方法,有入参,无返回值 handle()/handleAsync():它表示任务执行完成后的回方法...,有入参,有返回值 exceptionally():它表示任务执行异常后的回方法 下面我们一起来看看相关的使用示例!

    29810

    Android | Jetpack 处理回退事件的新姿势 —— OnBackPressedDispatcher

    Activity#onBackPressed() 中传递回事件(缺点:增加了 Activity & Fragment 的耦合关系); 2、在 Fragment 根布局中设置按键监听 setOnKeyListener...= null) { mFallbackOnBackPressed.run(); } } 3.3 回方法执行在主线程还是子线程?...首先,在 Fragment attach 时,会创建一个回对象加入分发器,回调处理时弹出返回栈栈顶事务。不过初始状态是未启用,只有当事务添加进返回栈后,才会修改回对象为启用状态。...= null ?...因为 Activity 实际上并没有销毁,所以用户下次返回用时是热启动; 3、调用 finish(): 结束当前 Activity,如果当前 Activity 处于栈底,则销毁 Activity 任务栈

    1.6K20

    CompletableFuture 异步多线程,那叫一个优雅

    运行结果可以看出结果都已经获取,而且如果我们不用异步操作,执行时间应该是:500+400+600 = 1500,用异步操作后实际只用1110。...2、thenAccept/thenAcceptAsync 第一个任务执行完成后,执行第二个回方法任务,会将该任务的执行结果,作为入参,传递到回方法中,但是回方法是没有返回值的。...,会将该任务的执行结果,作为入参,传递到回方法中,并且回方法是有返回值的。...「正常完成」:whenComplete返回结果和上级任务一致,异常为null; 「出现异常」:whenComplete返回结果为null,异常为上级任务的异常; 即调用get()时,正常完成时就获取到结果...:java.lang.RuntimeException: 出错了 最终返回的结果 = 0.0 多任务组合回 1、AND组合关系 thenCombine / thenAcceptBoth / runAfterBoth

    1.3K20

    Js篇-面试题5-如果浏览器不支持 bind 函数,实现一个函数让其兼容

    (module); // 通过bind改变this的指向,指向module对象 console.log(boundGetName()); // itclanCoder 在上面的示例代码中,将一个方法对象中拿出来...thisArg: 当绑定函数被调用时,该参数会作为 this 的指向。...如果 bind 函数的参数列表为空,或者 thisArg 是 null 或 undefined,执行作用域的 this 将被视为新函数的 thisArg arg1, arg2: 当目标函数被调用时,被预置入绑定函数的参数列表中的参数...返回返回一个原函数的拷贝,并拥有指定的 this 值和初始参数 应用场景 1:可以对一个函数预设初始参数 只要将这些参数(如果有的话)作为 bind() 的参数写在 this 后面。...,我们是无法去直接操作的,所以我们在attachEvent()不直接传入回函数,而是先定义一个匿名函数,然后在函数内部调用回函数,并利用 call 方法改变 this <!

    64520

    【Android】再来一篇Fragment的懒加载(只加载一次哦)

    之前写过一篇 Fragment懒加载和ViewPager的坑,里面分析了 Fragment 结合 ViewPager 使用时会碰到的一些情况,以及为什么要用懒加载,如何用,感兴趣的也可以再回去看看。...对吧,我们打开一个 Fragment 时,如果数据还没下载完,那么应该给个下载进度或者加载框提示,如果这个时候打开了新的 Fragment 页面,然后又重新返回时,如果数据还没加载完,那么也还应该继续给提示...false //如果当前Fragment可见,那么setUserVisibleHint()会再次被调用一次,传入isVisibleToUser = true //如果Fragment可见...,这样可能会出现重复创建 view 的情况,导致界面上显示多个相同的 Fragment * view 的复用其实就是指保存第一次创建的 view,后面再 onCreateView() 时直接返回第一次创建的...,保证只有当fragment可见状态发生变化时才回 * 回时机在view创建完后,所以支持ui操作,解决在setUserVisibleHint()里进行ui操作有可能报null异常的问题

    1.6K70

    147. 精读《@types react 值得注意的 TS 技巧》

    1 引言 @types/react 源码中挖掘一些 Typescript 使用技巧吧。...问题:React.useReducer 第一个参数是 Reducer,第二个参数是初始化参数,其实第二个参数的类型是第一个参数中回函数第一个参数的类型,那我们怎么将这两个参数的关系联系到一起呢?...的意思在上面已经提过了,也就是 R 必须符合 Reducer 结构,也就是 reducer 必须符合这个结构,之后重点来了:initializerArg 利用 ReducerState 这个类型直接...reducer 的类型 R 中将第一个回参数挖了出来并返回。...类型重载 当一个类型拥有多种使用可能性时,可以采用类型重载定义复数类型,Typescript 作用时会逐个匹配并找到第一个满足条件的。

    51910

    @types react 中值得注意的 TS 技巧

    1 引言 @types/react 源码中挖掘一些 Typescript 使用技巧吧。...问题:React.useReducer 第一个参数是 Reducer,第二个参数是初始化参数,其实第二个参数的类型是第一个参数中回函数第一个参数的类型,那我们怎么将这两个参数的关系联系到一起呢?...的意思在上面已经提过了,也就是 R 必须符合 Reducer 结构,也就是 reducer 必须符合这个结构,之后重点来了:initializerArg 利用 ReducerState 这个类型直接...reducer 的类型 R 中将第一个回参数挖了出来并返回。...类型重载 当一个类型拥有多种使用可能性时,可以采用类型重载定义复数类型,Typescript 作用时会逐个匹配并找到第一个满足条件的。

    1.2K20

    Minfilter过滤框架

    第二个参数是是我们定义的那个装有各种事件回函数的一个结构体的指针,通过传入这个参数,将这组回函数注册到Minfilter管理器中 第三个参数是一个输出参数,如果注册成功,则会返回这个参数用来唯一标识这个过滤驱动...管理器进行处理,而Sfilter返回的值是直接交给IO管理器,回函数的返回值一般有这样几个常用的: FLT_PREOP_SUCCESS_WITH_CALLBACK:表示处理请求成功,接着往下发这个请求...在使用时先利用函数AllocateContext分配一段内存空间,然后使用一组Set和Get函数来设置和获取设备上下文。...在与R3进行通讯之前需要设置这个端口,端口的设置使用函数FltCreateComunicationPort,在这个函数调用时需要提供这样几个回函数 1....另外需要注意一点,在进行通讯时需要两套数据结构,这两套分别运用在R3和R0两层,每一层都有两个数据结构,用来表示接收和返回的数据,拿R3来说,它需要一个MESSAGE结构体来接收R0层发过来的数据,另外需要一个

    1.9K32
    领券