• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 实现接口的时候遇到,HRESULT,DWORD重定义的问题,急用,谢谢

实现接口的时候遇到,HRESULT,DWORD重定义的问题,急用,谢谢

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了hresult 0x80240037,hresult 0xc8000222,hresult,hresult:0x80070002,hresult:0x8007000b等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 实现接口的时候遇到,HRESULT,DWORD重定义的问题,急用,谢谢
描述:

我想实现消息过虑接口,IMessageFilter,这个接口是从IUnknown继承而来的,那么单独定义一个类来实现接口IMessageFilter接口,存在如下问题:
假设实现的类是:MyMessageFilter
Class MyMessageFilter :public IMessageFilter
第一,如果,我在类的实现文件.cpp中定义构造函数和析构函数,就会提示,构造函数和析构函数不能返回类型,可是事实上我的构造函数和析构函数是空的。
第二,虽然IUnknown是基接口,但是,如果不在我的类头文件中MyMessageFilter.h中声明它的三个函数QuryInterface,Addref,Release而在实现文件中直接实现,就会提示说没有声明这三个函数。
第三,如果,我在实现文件中不实现析构和构造函数(问题一),在头文件中声明IUnknown的三个函数,接下来会出现下面的问题,HRESULT ,DWORD等的重定义,说是typedef不能由任何其他符合重载。
这是什么问题啊?
下面是我的头文件和实现文件,各位大侠看看由什么问题,急用,谢谢,指教。
MyMessageFilter.h
////////////////
#pragma once
#include "objidl.h"
#include "objbase.h" 
class MYLPMESSAGEFILTER : public IMessageFilter
{
public:
MYLPMESSAGEFILTER();
    ~MYLPMESSAGEFILTER();
public:
     HRESULT STDMETHODCALLTYPE QueryInterface( 
                      REFIID riid,
                      void __RPC_FAR *__RPC_FAR *ppvObject);
     ULONG STDMETHODCALLTYPE AddRef( void);
     ULONG STDMETHODCALLTYPE Release(void);
  
     DWORD STDMETHODCALLTYPE HandleInComingCall(
   DWORD dwCallType,
   HTASK threadIDCaller,
   DWORD dwTickCount,
   LPINTERFACEINFO lpInterfaceInfo 
      );
   
       DWORD STDMETHODCALLTYPE RetryRejectedCall( 
    HTASK htaskCallee,
    DWORD dwTickCount,
    DWORD dwRejectType);
   
    DWORD STDMETHODCALLTYPE MessagePending(
     HTASK threadIDCallee,
     DWORD dwTickCount,
     DWORD dwPendingType
);
}
//////////////
MyMessageFilter.cpp
///////////
//MYLPMESSAGEFILTER.CPP:实现文件
#include "stdAfx.h"
#include "MYLPMESSAGEFILTER.h"
#include ".\MYLPMESSAGEFILTER.h"
/*
MYLPMESSAGEFILTER::MYLPMESSAGEFILTER()
{
//AfxMessageBox("2");
}
MYLPMESSAGEFILTER::~MYLPMESSAGEFILTER()
{
}
*/
HRESULT  MYLPMESSAGEFILTER::QueryInterface(
//STDMETHORDIMP MYLPMESSAGEFILTER::QueryInterface(
REFIID iid,
void ** ppvObject
)
{
}
ULONG  MYLPMESSAGEFILTER::AddRef(void)
{
}
ULONG  MYLPMESSAGEFILTER::Release(void)
{
}
//DWORD  MYLPMESSAGEFILTER::HandleInComingCall(
DWORD  MYLPMESSAGEFILTER::HandleInComingCall(
DWORD dwCallType,
HTASK threadIDCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo 
)
{
  // return SERVERCALL_REJECTED ;
}
DWORD  MYLPMESSAGEFILTER::MessagePending(
HTASK threadIDCallee,
DWORD dwTickCount,
DWORD dwPendingType
)
{
  return PENDINGMSG_CANCELCALL ;
}
//STDMETHODIMP_(DWORD)
DWORD  MYLPMESSAGEFILTER::RetryRejectedCall(
//STDMETHODIMP_(DWORD)MYLPMESSAGEFILTER::RetryRejectedCall(
HTASK threadIDCallee,
DWORD dwTickCount,
DWORD dwRejectType
)
{
AfxMessageBox("1");
return -1;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于HRESULT类型,我定义的hr变量在失败时该如何返回?
  • HRESULT返回值的问题
  • MFCActvieX中是否能返回HRESULT?
  • C#调用C++写的OCX控件出现HRESULT:0x8000FFFF
  • com中所有方法的返回值都必须是HRESULT吗?
  • 为什么我做DLL的函数时,返回值只能是HRESULT类型
  • 请教HRESULT返回的值有哪些
  • 方法必须是HRESULT的,那么如何返回其它类型
  • 实现接口的时候遇到,HRESULT,DWORD重定义的问题,急用,谢谢
  • 为什么会出现HResult=-2147024894的返回值

相关文章

  • 2017-06-05 怎么这样做结束线程时有错误呢?
  • 2017-06-04 请高手解答用MFC开发OCX控件的图标加载问题。
  • 2017-06-04 HttpSendRequest失败,但是GetLastError返回的是0
  • 2017-06-04 在IContextMenu中使用SHFileOperation复制文件
  • 2017-06-04 ATLActiveXControl在WebPage上为什么不Work?
  • 2017-06-04 各位老大,有没有带事件的ActiveX控件的源代码?我想在控件实现当接收到网络数据包时触发事件,能否给个例子。分我有,谢谢
  • 2017-06-04 几种类型转换的疑惑?
  • 2017-06-04 Opencv图像不显示问题
  • 2017-06-04 请问如何截获word中textbox控件的键盘事件?
  • 2017-06-04 activex消息响应

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 失败创建控件没有具体错误,这是为什么ACTIVX里我前几天都可,现在却不能在容器里测试了
    • 一win32程序如何不让其进程显示在任务管理器中?
    • 关于在从线程中修改视图的问题?
    • howtostudycom
    • sos:关于PROCESSENTRY32
    • 请问ATL写COM的问题.
    • 多个实例的问题,回答正确必给分
    • 用VB开发COM组件
    • 怎样实现象IE那样,只要机器装了对应的组件,就可以将这种类型的文档(比如doc,pdf等),在自己的窗口中打开?
    • 我要用VC编写个Activex控件,在VB中调用控件的方法,在VB中以字节数组的形式传递参数,好难解决啊

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有