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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hcosmo.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
字號:
/*
 * HCOSMO.CPP
 * Cosmo Handler Chapter 19
 *
 * DLL exports for an object handler as well as class factory.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#define INITGUIDS
#include "hcosmo.h"


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

//DLL Instance handle
HINSTANCE   g_hInst=0;


/*
 * LibMain(32)
 *
 * Purpose:
 *  Entry point for Win32 or Win16 DLLs.
 */

#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;
        }

    g_hInst=hInstance;
    return TRUE;
    }

#else

/*
 * LibMain (also called from Win32 LibMain32)
 *
 * Purpose:
 *  DLL-specific entry point called from LibEntry.
 */

int PASCAL LibMain(HINSTANCE hInst, WORD wDataSeg
    , WORD cbHeapSize, LPSTR lpCmdLine)
    {
    if (0!=cbHeapSize)
        UnlockData(0);

    g_hInst=hInst;
    return (int)hInst;
    }

#endif




/*
 * DllGetClassObject
 *
 * Purpose:
 *  Standard export for DLL component objects.
 */

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

    //Check that we can provide the interface
    if (IID_IUnknown!=riid && IID_IClassFactory!=riid)
        return ResultFromScode(E_NOINTERFACE);

    //Return our IClassFactory for Figure objects
    *ppv=new CFigureClassFactory;

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

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





/*
 * DllCanUnloadNow
 *
 * Purpose:
 *  Answers if the DLL can be freed, that is, if there are no
 *  references to anything this DLL provides.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  BOOL            TRUE if nothing is using us, FALSE otherwise.
 */

STDAPI DllCanUnloadNow(void)
    {
    SCODE   sc;

    //Our answer is whether there are any object or locks
    sc=(0L==g_cObj && 0==g_cLock) ? S_OK : S_FALSE;
    return ResultFromScode(sc);
    }




/*
 * ObjectDestroyed
 *
 * Purpose:
 *  Function for the Figure 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;
    }






/*
 * CFigureClassFactory::CFigureClassFactory
 * CFigureClassFactory::~CFigureClassFactory
 */

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

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



/*
 * CFigureClassFactory::QueryInterface
 * CFigureClassFactory::AddRef
 * CFigureClassFactory::Release
 */

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

    //Any interface on this object is the object pointer.
    if (IID_IUnknown==riid || IID_IClassFactory==riid)
        *ppv=this;

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

    return ResultFromScode(E_NOINTERFACE);
    }


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


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

    delete this;
    ObjectDestroyed();
    return 0;
    }





/*
 * CFigureClassFactory::CreateInstance
 *
 * Purpose:
 *  Instantiates a Figure object that supports the IFigure
 *  and IUnknown interfaces.  If the caller asks for a different
 *  interface than these two then we fail.
 *
 * 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 CFigureClassFactory::CreateInstance(LPUNKNOWN pUnkOuter
    , REFIID riid, PPVOID ppvObj)
    {
    PCFigure            pObj;
    HRESULT             hr;

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

    //Verify that a controlling unknown is asking for IUnknown
    if (NULL!=pUnkOuter && IID_IUnknown!=riid)
        return ResultFromScode(E_NOINTERFACE);

    //Create the object.  This also creates a window.
    pObj=new CFigure(pUnkOuter, ObjectDestroyed, g_hInst);

    if (NULL==pObj)
        return hr;

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

    //Kill the object if initial creation or Init failed.
    if (FAILED(hr))
        delete pObj;
    else
        g_cObj++;

    return hr;
    }






/*
 * CFigureClassFactory::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 CFigureClassFactory::LockServer(BOOL fLock)
    {
    if (fLock)
        g_cLock++;
    else
        g_cLock--;

    return NOERROR;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色黄大片| 欧美顶级少妇做爰| 91久久精品一区二区二区| 91精品国产免费| 亚洲免费色视频| 国产一区二区三区av电影| 欧美性三三影院| 中文字幕欧美激情一区| 免费在线看成人av| 色婷婷av一区二区三区大白胸| 精品国产精品网麻豆系列| 一区二区三区丝袜| va亚洲va日韩不卡在线观看| 日韩欧美综合在线| 婷婷中文字幕一区三区| 91久久精品一区二区三| 国产精品久久久久久久久久免费看 | 亚洲人成精品久久久久久| 国产九色sp调教91| 26uuu另类欧美| 日本女优在线视频一区二区 | 亚洲三级免费观看| 国产成人在线网站| 欧美电视剧在线观看完整版| 天天综合网天天综合色| 在线观看亚洲成人| 亚洲免费电影在线| jlzzjlzz国产精品久久| 中文字幕第一区综合| 成人综合婷婷国产精品久久| 久久久久久久久久久久电影| 精品一区中文字幕| 精品福利一区二区三区| 国产一区视频网站| 久久在线观看免费| 国产激情视频一区二区在线观看| 精品福利视频一区二区三区| 奇米综合一区二区三区精品视频| 欧美日本在线播放| 三级欧美韩日大片在线看| 777亚洲妇女| 蜜桃视频第一区免费观看| 日韩久久久精品| 国产在线精品一区在线观看麻豆| 久久久噜噜噜久久人人看 | 色国产综合视频| 一区二区在线免费| 欧美日韩精品一区二区| 日韩精品亚洲专区| 久久久高清一区二区三区| 成人av电影免费在线播放| 亚洲精品免费在线观看| 欧美最新大片在线看| 日日骚欧美日韩| 精品国产髙清在线看国产毛片| 国产一区二区按摩在线观看| 中文字幕在线不卡国产视频| 91黄色免费观看| 日韩中文字幕一区二区三区| 欧美哺乳videos| 懂色av一区二区夜夜嗨| 亚洲免费av高清| 777奇米成人网| 国产美女在线精品| 国产精品久久久久久户外露出 | 天堂午夜影视日韩欧美一区二区| 91精选在线观看| 国产麻豆精品久久一二三| 中文字幕一区二区不卡| 欧美日韩在线免费视频| 久热成人在线视频| 亚洲色图制服诱惑 | 在线免费观看日本欧美| 看片网站欧美日韩| 亚洲女人小视频在线观看| 欧美日韩第一区日日骚| 成人丝袜18视频在线观看| 亚洲18影院在线观看| 国产欧美一区二区精品性色| 欧美中文字幕一二三区视频| 国产在线精品一区二区不卡了| 日韩毛片在线免费观看| 欧美videos中文字幕| 97精品电影院| 国产在线不卡视频| 亚洲一区国产视频| 国产精品久久久久aaaa| 91精品蜜臀在线一区尤物| 91影院在线免费观看| 麻豆成人综合网| 亚洲一区日韩精品中文字幕| 中文字幕精品综合| 欧美一区二区成人6969| 色吊一区二区三区| 粉嫩av一区二区三区| 看电视剧不卡顿的网站| 婷婷成人激情在线网| 亚洲伦在线观看| 国产精品美女久久久久久| 欧美va日韩va| 欧美一区二区三区四区视频| 色系网站成人免费| 国产91精品精华液一区二区三区| 精品亚洲aⅴ乱码一区二区三区| 亚洲精品视频免费观看| 1000部国产精品成人观看| 精品国产污污免费网站入口 | 91精品久久久久久蜜臀| 91久久精品一区二区三区| 972aa.com艺术欧美| 国产成人午夜高潮毛片| 韩国成人在线视频| 六月丁香婷婷色狠狠久久| 日韩精品三区四区| 香蕉影视欧美成人| 亚洲成av人片在线观看无码| 亚洲免费电影在线| 亚洲午夜精品17c| 午夜私人影院久久久久| 亚洲已满18点击进入久久| 亚洲成人资源在线| 婷婷久久综合九色综合伊人色| 亚洲一区二区在线播放相泽| 亚洲欧美激情小说另类| 亚洲欧美日韩综合aⅴ视频| 综合激情成人伊人| 一区二区三区产品免费精品久久75| 亚洲色图视频网| 亚洲一区二区视频在线| 亚洲第一福利视频在线| 日本成人在线不卡视频| 免费观看成人av| 韩国女主播成人在线| 国产精品亚洲第一区在线暖暖韩国| 国产传媒久久文化传媒| 成人丝袜18视频在线观看| 色婷婷一区二区三区四区| 欧美性猛交xxxxxxxx| 欧美另类高清zo欧美| 欧美电视剧在线观看完整版| 国产日产欧产精品推荐色 | 在线观看91视频| 欧美高清精品3d| 久久久蜜桃精品| 亚洲乱码日产精品bd| 喷水一区二区三区| 国产sm精品调教视频网站| 欧美最猛性xxxxx直播| 日韩亚洲国产中文字幕欧美| 国产午夜久久久久| 中文字幕一区二区三中文字幕 | 国产精品久久久99| 亚洲国产综合91精品麻豆| 另类欧美日韩国产在线| 成人av网站免费| 欧美三区在线观看| 欧美mv和日韩mv国产网站| 亚洲人成电影网站色mp4| 欧美bbbbb| 日本乱码高清不卡字幕| 日韩精品在线看片z| 亚洲视频一二三区| 久久国产综合精品| 日本福利一区二区| 国产欧美日韩在线看| 无码av中文一区二区三区桃花岛| 丁香激情综合五月| 日韩亚洲欧美在线| 亚洲女同一区二区| 高清不卡一区二区在线| 欧美伦理电影网| 中文字幕亚洲视频| 久久精品国产色蜜蜜麻豆| 色婷婷久久久综合中文字幕| 精品美女在线播放| 亚洲高清久久久| kk眼镜猥琐国模调教系列一区二区| 日韩限制级电影在线观看| 亚洲精品你懂的| 99久久99精品久久久久久| 精品久久久久久久久久久久包黑料 | 国产欧美精品一区二区色综合朱莉| 亚洲成人一区二区| 91网址在线看| 欧美激情一二三区| 狠狠狠色丁香婷婷综合激情 | 色8久久人人97超碰香蕉987| 国产欧美一区二区在线观看| 视频一区中文字幕| 欧美四级电影在线观看| 亚洲欧美一区二区三区久本道91 | 韩国精品久久久| 久久这里只有精品首页| 麻豆精品国产91久久久久久 | 不卡高清视频专区| 欧美激情一区在线观看| 久久精品国产亚洲高清剧情介绍| 91精品国产色综合久久久蜜香臀| 一区二区三区日韩欧美精品| 99久久伊人网影院|