亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dllassis.cpp

?? 英文版的 想要的話可以下載了 為大家服務(wù)
?? CPP
字號:
/*
 * DLLASSIS.CPP
 * Links Assistant Chapter 20
 *
 * DLL housing for the LinksAssistant component object for
 * container applications that use the Links dialog.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#define INITGUIDS
#include "dllassis.h"


//Count number of objects and number of locks.
ULONG       g_cObj=0;
ULONG       g_cLock=0;



/*
 * LibMain(32)
 *
 * Purpose:
 *  Entry point conditionally compiled for Win32 and Windows
 *  3.1.  Provides the proper structure for each environment.
 */

#ifdef WIN32
BOOL WINAPI LibMain32(HINSTANCE hInstance, ULONG ulReason
    , LPVOID pvReserved)
    {
    if (DLL_PROCESS_DETACH==ulReason)
        {
        return TRUE;
        }
    else
        {
        if (DLL_PROCESS_ATTACH!=ulReason)
            return TRUE;
        }

    return TRUE;
    }
#else
int PASCAL LibMain(HINSTANCE hInstance, WORD wDataSeg
    , WORD cbHeapSize, LPSTR lpCmdLine)
    {
    if (0!=cbHeapSize)
        UnlockData(0);

    return (int)hInstance;
    }
#endif




/*
 * DllGetClassObject
 * DllCanUnloadNow
 *
 * Purpose:
 *  Standard exports for DLL component objects.
 */

HRESULT APIENTRY DllGetClassObject(REFCLSID rclsid
    , REFIID riid, PPVOID ppv)
    {
    if (CLSID_LinksAssistant!=rclsid)
        return ResultFromScode(E_FAIL);

    if (IID_IUnknown!=riid && IID_IClassFactory!=riid)
        return ResultFromScode(E_NOINTERFACE);

    *ppv=new CLinksClassFactory();

    if (NULL==*ppv)
        return ResultFromScode(E_OUTOFMEMORY);

    ((LPUNKNOWN)*ppv)->AddRef();
    g_cObj++;
    return NOERROR;
    }


STDAPI DllCanUnloadNow(void)
    {
    SCODE   sc;

    sc=(0L==g_cObj && 0L==g_cLock) ? S_OK : S_FALSE;
    return ResultFromScode(sc);
    }




/*
 * ObjectDestroyed
 *
 * Purpose:
 *  Function for the object to call when it gets destroyed.
 *  Since we're in a DLL we only track the number of objects here
 *  letting DllCanUnloadNow take care of the rest.
 */

void ObjectDestroyed(void)
    {
    g_cObj--;
    return;
    }





/*
 * CLinksClassFactory::CLinksClassFactory
 * CLinksClassFactory::~CLinksClassFactory
 */

CLinksClassFactory::CLinksClassFactory(void)
    {
    m_cRef=0L;
    return;
    }


CLinksClassFactory::~CLinksClassFactory(void)
    {
    return;
    }






/*
 * CLinksClassFactory::QueryInterface
 * CLinksClassFactory::AddRef
 * CLinksClassFactory::Release
 */

STDMETHODIMP CLinksClassFactory::QueryInterface(REFIID riid
    , PPVOID ppv)
    {
    *ppv=NULL;

    if (IID_IUnknown==riid || IID_IClassFactory==riid)
        *ppv=this;

    if (NULL!=*ppv)
        {
        ((LPUNKNOWN)*ppv)->AddRef();
        return NOERROR;
        }

    return ResultFromScode(E_NOINTERFACE);
    }


STDMETHODIMP_(ULONG) CLinksClassFactory::AddRef(void)
    {
    return ++m_cRef;
    }


STDMETHODIMP_(ULONG) CLinksClassFactory::Release(void)
    {
    if (0L!=--m_cRef)
        return m_cRef;

    delete this;
    ObjectDestroyed();
    return 0;
    }





/*
 * CLinksClassFactory::CreateInstance
 *
 * Purpose:
 *  Instantiates a Links Assistant object that supports the
 *  IOleUILinkContainer interface for helping container do the
 *  Links Dialog.
 *
 * Parameters:
 *  pUnkOuter       LPUNKNOWN to the controlling IUnknown if we
 *                  are being used in an aggregation.
 *  riid            REFIID identifying the interface the caller
 *                  desires to have for the new object.
 *  ppvObj          PPVOID in which to store the desired
 *                  interface pointer for the new object.
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, otherwise contains
 *                  E_NOINTERFACE if we cannot support the
 *                  requested interface.
 */

STDMETHODIMP CLinksClassFactory::CreateInstance(LPUNKNOWN pUnkOuter
    , REFIID riid, PPVOID ppvObj)
    {
    PCLinks             pObj;
    HRESULT             hr;

    *ppvObj=NULL;
    hr=ResultFromScode(E_OUTOFMEMORY);

    //We don't support aggregation
    if (NULL!=pUnkOuter)
        return ResultFromScode(CLASS_E_NOAGGREGATION);

    pObj=new CLinks(ObjectDestroyed);

    if (NULL==pObj)
        return hr;

    hr=pObj->QueryInterface(riid, ppvObj);

    if (FAILED(hr))
        delete pObj;
    else
        g_cObj++;

    return hr;
    }






/*
 * CLinksClassFactory::LockServer
 *
 * Purpose:
 *  Increments or decrements the lock count of the DLL.  If the lock
 *  count goes to zero and there are no objects, the DLL is allowed
 *  to unload.  See DllCanUnloadNow.
 *
 * Parameters:
 *  fLock           BOOL specifying whether to increment or
 *                  decrement the lock count.
 *
 * Return Value:
 *  HRESULT         NOERROR always.
 */

STDMETHODIMP CLinksClassFactory::LockServer(BOOL fLock)
    {
    if (fLock)
        g_cLock++;
    else
        g_cLock--;

    return NOERROR;
    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情伊人五月天久久综合| 韩国成人精品a∨在线观看| 777午夜精品免费视频| 国产原创一区二区| 亚洲第一在线综合网站| 亚洲国产经典视频| 欧美一区二区免费视频| 91久久一区二区| 国产九九视频一区二区三区| 性欧美大战久久久久久久久| 国产精品人成在线观看免费| 日韩手机在线导航| 欧美伊人久久久久久午夜久久久久| 国产传媒欧美日韩成人| 久久精品国产第一区二区三区| 亚洲三级理论片| 国产欧美综合在线观看第十页| 欧美一级二级在线观看| 精品视频在线视频| 一本一道久久a久久精品综合蜜臀| 国产一区美女在线| 奇米精品一区二区三区在线观看一| 亚洲天堂2016| 国产精品高清亚洲| 国产午夜亚洲精品不卡| 日韩免费一区二区三区在线播放| 欧美日韩日日摸| 日本精品裸体写真集在线观看| 成人免费看黄yyy456| 国产综合色精品一区二区三区| 婷婷综合在线观看| 天天综合色天天| 舔着乳尖日韩一区| 亚洲一区二区欧美| 亚洲综合色成人| 亚洲永久免费av| 亚洲大尺度视频在线观看| 又紧又大又爽精品一区二区| 日本伊人精品一区二区三区观看方式| 亚洲永久精品大片| 亚洲国产日韩精品| 亚洲成av人在线观看| 亚洲福利视频导航| 天天射综合影视| 偷拍一区二区三区四区| 奇米在线7777在线精品| 精品一区二区在线免费观看| 久久99热99| 国产美女一区二区| 成人一区二区三区在线观看| 国产一级精品在线| 不卡视频在线观看| 色综合天天综合狠狠| 色八戒一区二区三区| 欧美亚洲国产一区在线观看网站 | ㊣最新国产の精品bt伙计久久| 国产精品系列在线| 中文字幕一区二区视频| 一区二区三区四区不卡视频| 亚洲一区二区三区四区五区中文| 香蕉成人伊视频在线观看| 男女男精品网站| 国产一区二区不卡老阿姨| 不卡欧美aaaaa| 欧美最猛黑人xxxxx猛交| 69久久夜色精品国产69蝌蚪网| 亚洲精品一区二区三区影院| 国产日韩欧美一区二区三区乱码| 亚洲欧美韩国综合色| 午夜久久久久久电影| 激情图片小说一区| 一本久道中文字幕精品亚洲嫩| 欧美日韩国产系列| 国产无一区二区| 洋洋av久久久久久久一区| 日本视频一区二区三区| 国产精品66部| 欧美日韩亚洲综合一区二区三区| 日韩精品一区二区三区中文不卡| 国产精品免费aⅴ片在线观看| 亚洲精品第1页| 美女在线一区二区| 成人国产精品视频| 日韩三级.com| 国产精品的网站| 男人操女人的视频在线观看欧美| 成人免费毛片app| 日韩一区二区精品葵司在线| 中文一区二区在线观看| 婷婷久久综合九色综合绿巨人| 国产乱人伦偷精品视频免下载| 在线观看亚洲专区| 亚洲福利视频一区| 国产高清精品在线| 91精品一区二区三区久久久久久| 久久精品一二三| 日韩av电影一区| 色呦呦日韩精品| 国产精品无码永久免费888| 日韩av在线发布| 色呦呦一区二区三区| 久久久久久久综合狠狠综合| 亚州成人在线电影| 色狠狠桃花综合| 久久精品欧美一区二区三区不卡| 日韩精品国产精品| 色噜噜偷拍精品综合在线| 久久精品一级爱片| 蜜臀精品一区二区三区在线观看 | 日韩精品一区二区三区视频在线观看 | 一区二区三区蜜桃网| 国产成人综合在线| 精品国产乱码久久久久久闺蜜 | 亚洲成av人片| 日本大香伊一区二区三区| 国产日韩精品久久久| 久久国产尿小便嘘嘘| 欧美丰满美乳xxx高潮www| 亚洲丝袜自拍清纯另类| 国产成人av福利| 精品va天堂亚洲国产| 日本在线观看不卡视频| 欧美日韩一区二区三区在线| 亚洲欧美一区二区三区孕妇| 懂色av一区二区夜夜嗨| 久久一区二区三区四区| 久久成人免费日本黄色| 日韩视频一区二区三区 | 国产一区二区三区免费在线观看| 欧美一区二区久久久| 日韩av一级片| 日韩亚洲欧美一区| 人人精品人人爱| 日韩视频不卡中文| 久久精品久久99精品久久| 91精品免费观看| 免费视频一区二区| 欧美一级欧美一级在线播放| 日本亚洲天堂网| 欧美一区二区在线免费播放 | 午夜精品视频在线观看| 在线影视一区二区三区| 夜夜揉揉日日人人青青一国产精品| 91原创在线视频| 一区二区三区四区蜜桃| 欧美天堂亚洲电影院在线播放| 一区二区三区高清不卡| 欧美日韩一区二区三区四区五区| 亚洲国产一区视频| 欧美丰满一区二区免费视频| 美女网站在线免费欧美精品| 日韩一级完整毛片| 国产乱子轮精品视频| 中文字幕第一区第二区| 色综合网站在线| 亚洲电影你懂得| 精品美女在线观看| 国产69精品久久777的优势| 国产精品婷婷午夜在线观看| 色综合久久久久久久久久久| 亚洲第一二三四区| 久久中文字幕电影| 成人国产精品免费观看视频| 亚洲精品成人精品456| 欧美久久免费观看| 国产美女主播视频一区| 国产精品大尺度| 欧美日韩日日夜夜| 国产美女娇喘av呻吟久久| 亚洲欧美日本在线| 欧美一卡二卡在线| 成人深夜福利app| 亚洲午夜久久久久久久久久久| 日韩一区二区三区在线| 国产 欧美在线| 亚洲网友自拍偷拍| 久久中文字幕电影| 欧美综合亚洲图片综合区| 精品一区二区三区日韩| 国产精品久久精品日日| 7777精品伊人久久久大香线蕉| 国产精品一二三区在线| 亚洲第一成人在线| 欧美国产欧美亚州国产日韩mv天天看完整| 99久久99久久免费精品蜜臀| 人人狠狠综合久久亚洲| 国产精品欧美一区二区三区| 欧美日韩精品一区二区三区| 国产成人亚洲综合a∨婷婷| 亚洲午夜三级在线| 国产三级精品在线| 88在线观看91蜜桃国自产| aaa欧美日韩| 黄页视频在线91| 亚洲成人综合在线| 中文字幕在线观看一区| 精品国产露脸精彩对白| 欧美在线免费观看亚洲| 不卡电影一区二区三区| 国模娜娜一区二区三区|