网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
用拷贝钩子实现对文件夹的监控
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
p;    STDMETHODIMP_(ULONG) AddRef();

            STDMETHODIMP_(ULONG) Release();

            STDMETHODIMP CreateInstance(IUnknown * pUnkOuter,REFIID riid,void ** ppvObject);

            STDMETHODIMP LockServer(BOOL fLock);

private:

            int m_refcnt;

};

 

// CCopyHook.cpp

//CCopyHook对象和CClassFactory对象的实现文件

#include <stdio.h>

#include "CCopyHook.h"

 

extern LONG nLocks;          //对象计数,用于DllCanUnloadNow

 

ULONG __stdcall CCopyHook::AddRef(){

            if(m_refcnt==0)

                        nLocks++;

            m_refcnt++;

            return m_refcnt;

}

ULONG __stdcall CCopyHook::Release(){

            int nNewCnt=--m_refcnt;

            if(nNewCnt<=0){

                        nLocks--;

                        delete this;

            }

            return nNewCnt;

}

HRESULT __stdcall CCopyHook::QueryInterface(REFIID iid,void** ppvObject){

            if(iid==IID_IUnknown)

                        *ppvObject=static_cast<IUnknown*>(this);

            else

                        if(iid==IID_IShellCopyHook)

                            *ppvObject=static_cast<ICopyHook*>(this);

            else

                         return E_NOINTERFACE;

            reinterpret_cast<IUnknown*>(*ppvObject)->AddRef();

      

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号