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

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

?? ioleobj.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
字號:
/*
 * IOLEOBJ.CPP
 *
 * Template IOleObject interface implementation.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#include "ioleobj.h"


/*
 * CImpIOleObject::CImpIOleObject
 * CImpIOleObject::~CImpIOleObject
 *
 * Parameters (Constructor):
 *  pObj            LPVOID of the object we're in.
 *  pUnkOuter       LPUNKNOWN to which we delegate.
 */

CImpIOleObject::CImpIOleObject(LPVOID pObj, LPUNKNOWN pUnkOuter)
    {
    m_cRef=0;
    m_pObj=pObj;
    m_pUnkOuter=pUnkOuter;
    return;
    }

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



/*
 * CImpIOleObject::QueryInterface
 * CImpIOleObject::AddRef
 * CImpIOleObject::Release
 *
 * Purpose:
 *  Delegating IUnknown members for CImpIOleObject.
 */

STDMETHODIMP CImpIOleObject::QueryInterface(REFIID riid
    , LPVOID *ppv)
    {
    return m_pUnkOuter->QueryInterface(riid, ppv);
    }

STDMETHODIMP_(ULONG) CImpIOleObject::AddRef(void)
    {
    ++m_cRef;
    return m_pUnkOuter->AddRef();
    }

STDMETHODIMP_(ULONG) CImpIOleObject::Release(void)
    {
    --m_cRef;
    return m_pUnkOuter->Release();
    }





/*
 * CImpIOleObject::SetClientSite
 *
 * Purpose:
 *  Provides the object with a pointer to the IOleClient site
 *  representing the container in which this object resides.
 *
 * Parameters:
 *  pIOleClientSite LPOLECLIENTSITE to the container's interface.
 */

STDMETHODIMP CImpIOleObject::SetClientSite
    (LPOLECLIENTSITE pIOleClientSite)
    {
    return NOERROR;
    }





/*
 * CImpIOleObject::GetClientSite
 *
 * Purpose:
 *  Asks the object for the client site provided in SetClientSite.
 *  If you have not seen SetClientSite yet, return a NULL in
 *  ppIOleClientSite.
 *
 * Parameters:
 *  ppIOleClientSite    LPOLECLIENTSITE * in which to store
 *                      the pointer.
 */

STDMETHODIMP CImpIOleObject::GetClientSite(LPOLECLIENTSITE
    *ppIOleClientSite)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::SetHostNames
 *
 * Purpose:
 *  Provides the object with names of the container application and
 *  the object in the container to use in object user interface.
 *
 * Parameters:
 *  pszApp          LPCOLESTR of the container application.
 *  pszObj          LPCOLESTR of some name useful in window titles.
 */

STDMETHODIMP CImpIOleObject::SetHostNames(LPCOLESTR pszApp
    , LPCOLESTR pszObj)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::Close
 *
 * Purpose:
 *  Forces the object to close down its user interface and unload.
 *
 * Parameters:
 *  dwSaveOption    DWORD describing the circumstances under which
 *                  the object is being saved and closed.
 */

STDMETHODIMP CImpIOleObject::Close(DWORD dwSaveOption)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::SetMoniker
 *
 * Purpose:
 *  Informs the object of its moniker or its container's moniker
 *  depending on dwWhich.
 *
 * Parameters:
 *  dwWhich         DWORD describing whether the moniker is the
 *                  object's or the container's.
 *  pmk             LPMONIKER with the name.
 */

STDMETHODIMP CImpIOleObject::SetMoniker(DWORD dwWhich
    , LPMONIKER pmk)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::GetMoniker
 *
 * Purpose:
 *  Asks the object for a moniker that can later be used to
 *  reconnect to it.
 *
 * Parameters:
 *  dwAssign        DWORD determining how to assign the moniker to
 *                  to the object.
 *  dwWhich         DWORD describing which moniker the caller wants.
 *  ppmk            LPMONIKER * into which to store the moniker.
 */

STDMETHODIMP CImpIOleObject::GetMoniker(DWORD dwAssign
    , DWORD dwWhichMoniker, LPMONIKER *ppmk)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::InitFromData
 *
 * Purpose:
 *  Initilizes the object from the contents of a data object.
 *
 * Parameters:
 *  pIDataObject    LPDATAOBJECT containing the data.
 *  fCreation       BOOL indicating if this is part of a new
 *                  creation.  If FALSE, the container is trying
 *                  to paste here.
 *  dwReserved      DWORD reserved.
 */

STDMETHODIMP CImpIOleObject::InitFromData(LPDATAOBJECT pIDataObject
    , BOOL fCreation, DWORD dwReserved)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::GetClipboardData
 *
 * Purpose:
 *  Returns an IDataObject pointer to the caller representing what
 *  would be on the clipboard if the server did an Edit/Copy using
 *  OleSetClipboard.
 *
 * Parameters:
 *  dwReserved      DWORD reserved.
 *  ppIDataObj      LPDATAOBJECT * into which to store the
 *                  pointer.
 */

STDMETHODIMP CImpIOleObject::GetClipboardData(DWORD dwReserved
    , LPDATAOBJECT *ppIDataObj)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::DoVerb
 *
 * Purpose:
 *  Executes an object-defined action.
 *
 * Parameters:
 *  iVerb           LONG index of the verb to execute.
 *  pMSG            LPMSG describing the event causing the
 *                  activation.
 *  pIOleClientSite LPOLECLIENTSITE to the site involved.
 *  lIndex          LONG the piece on which execution is happening.
 *  hWndParent      HWND of the window in which the object can play
 *                  in-place.
 *  pRectPos        LPRECT of the object in hWndParent where the
 *                  object can play in-place if desired.
 */

STDMETHODIMP CImpIOleObject::DoVerb(LONG iVerb, LPMSG PMSG
    , LPOLECLIENTSITE pIOleClientSite, LONG lIndex
    , HWND hWndParent, LPCRECT pRectPos)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::EnumVerbs
 *
 * Purpose:
 *  Creates an enumerator that knows the object's verbs.  If you
 *  need to change the verb list dynamically, then you'll need to
 *  implement this, otherwise you can return OLE_S_USEREG.
 *
 * Parameters:
 *  ppEnum          LPENUMOLEVERB * into which to return the
 *                  enum.
 */

STDMETHODIMP CImpIOleObject::EnumVerbs(LPENUMOLEVERB *ppEnum)
    {
    //Trivial implementation if you fill the regDB.
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::Update
 *
 * Purpose:
 *  Insures that the object is up to date.  This is mostly used for
 *  caching but you must make sure that you recursively call all
 *  nested objects you contain as well.
 *
 * Parameters:
 *  None
 */

STDMETHODIMP CImpIOleObject::Update(void)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::IsUpToDate
 *
 * Purpose:
 *  Returns if the object is currently up to date, which involves
 *  asking all contained object inside this object if they are up
 *  to date as well.
 *
 * Parameters:
 *  None
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, S_FALSE if dirty.
 */

STDMETHODIMP CImpIOleObject::IsUpToDate(void)
    {
    return NOERROR;
    }





/*
 * CImpIOleObject::GetUserClassID
 *
 * Purpose:
 *  Used for linked objects, this returns the class ID of what end
 *  users think they are editing.
 *
 * Parameters:
 *  pClsID          LPCLSID in which to store the CLSID.
 */

STDMETHODIMP CImpIOleObject::GetUserClassID(LPCLSID pClsID)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::GetUserType
 *
 * Purpose:
 *  Determines the user-presentable name of the object.
 *
 * Parameters:
 *  dwForm          DWORD describing which form of the string
 *                  is desired.
 *  pszType         LPTSTR * into which to return the pointer to
 *                  the type string.
 */

STDMETHODIMP CImpIOleObject::GetUserType(DWORD dwForm
    , LPTSTR *ppszType)
    {
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::SetExtent
 *
 * Purpose:
 *  Sets the size of the object in HIMETRIC units.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect affected.
 *  pszl            LPSIZEL containing the new size.
 */

STDMETHODIMP CImpIOleObject::SetExtent(DWORD dwAspect, LPSIZEL pszl)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::GetExtent
 *
 * Purpose:
 *  Retrieves the size of the object in HIMETRIC units.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect requested
 *  pszl            LPSIZEL into which to store the size.
 */

STDMETHODIMP CImpIOleObject::GetExtent(DWORD dwAspect, LPSIZEL pszl)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::Advise
 *
 * Purpose:
 *  Provides an IAdviseSink to the object for notifications.
 *
 * Parameters:
 *  pIAdviseSink    LPADVISESINK to notify.
 *  pdwConn         LPDWORD into which to store a connection key.
 */

STDMETHODIMP CImpIOleObject::Advise(LPADVISESINK pIAdviseSink
    , LPDWORD pdwConn)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::Unadvise
 *
 * Purpose:
 *  Terminates a previous advise connection from Advise.
 *
 * Parameters:
 *  dwConn          DWORD connection key from Advise.
 */

STDMETHODIMP CImpIOleObject::Unadvise(DWORD dwConn)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::EnumAdvise
 *
 * Purpose:
 *  Creates and returns a enumeration of the advises on this object.
 *
 * Parameters:
 *  ppEnum          LPENUMSTATDATA * in which to return the
 *                  enumerator.
 */

STDMETHODIMP CImpIOleObject::EnumAdvise(LPENUMSTATDATA *ppEnum)
    {
    return ResultFromScode(E_NOTIMPL);
    }





/*
 * CImpIOleObject::GetMiscStatus
 *
 * Purpose:
 *  Returns a set of miscellaneous status flags for the object.
 *
 * Parameters:
 *  dwAspect        DWORD of the aspect in question.
 *  pdwStatus       LPDWORD in which to store the flags.
 */

STDMETHODIMP CImpIOleObject::GetMiscStatus(DWORD dwAspect
    , LPDWORD pdwStatus)
    {
    return ResultFromScode(OLE_S_USEREG);
    }





/*
 * CImpIOleObject::SetColorScheme
 *
 * Purpose:
 *  Provides the object with the color palette as recommended by
 *  the container application that also knows the palettes of other
 *  objects.  The object here is not required to use these colors.
 *
 * Parameters:
 *  pLP             LPLOGPALETTE providing the colors.
 */

STDMETHODIMP CImpIOleObject::SetColorScheme(LPLOGPALETTE pLP)
    {
    return ResultFromScode(E_NOTIMPL);
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线看| 午夜精品视频一区| 中文字幕免费在线观看视频一区| 亚洲一区二区三区中文字幕| 国产一区中文字幕| 欧美日韩成人高清| 中文字幕一区三区| 另类综合日韩欧美亚洲| 日本久久电影网| 亚洲欧美色图小说| 不卡av在线网| 亚洲女子a中天字幕| 国产98色在线|日韩| 久久日一线二线三线suv| 亚洲精品日产精品乱码不卡| 成人97人人超碰人人99| 国产精品国产三级国产a| 成人app在线| 亚洲女女做受ⅹxx高潮| 91欧美一区二区| 亚洲最新视频在线观看| 欧美精品乱人伦久久久久久| 亚洲成人在线免费| 日韩精品一区国产麻豆| 亚洲一区二区三区四区五区中文 | 日韩电影在线一区二区三区| 久久精品国产精品亚洲综合| 韩国视频一区二区| 欧美色图片你懂的| www国产精品av| 日韩精品每日更新| 国产成人免费在线视频| 亚洲日本一区二区| 精品免费国产二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲国产日日夜夜| 国产无人区一区二区三区| 欧日韩精品视频| 成人亚洲精品久久久久软件| 亚洲一区二区三区四区五区黄| 26uuu精品一区二区三区四区在线| 91亚洲大成网污www| 夜夜揉揉日日人人青青一国产精品| 亚洲小说春色综合另类电影| 国产在线播放一区| 国产一区高清在线| 一区二区三区四区在线播放| 国产片一区二区三区| 欧美日韩国产大片| 欧美在线观看一区| 色狠狠av一区二区三区| 成人综合在线视频| 国产99久久久国产精品潘金| 免费在线欧美视频| 久久国产精品无码网站| 蜜桃精品视频在线| 日产精品久久久久久久性色| 亚洲电影第三页| 亚洲国产精品久久不卡毛片| 亚洲精品乱码久久久久久久久| 亚洲人吸女人奶水| 一区二区三区日韩欧美精品| 亚洲成人综合视频| 久久av老司机精品网站导航| 国产精品白丝jk白祙喷水网站| 国产精品99久久久久| 99久久综合国产精品| 色婷婷一区二区三区四区| 色婷婷久久久综合中文字幕| 欧美亚洲综合色| 日韩欧美国产综合在线一区二区三区 | 欧美一级久久久久久久大片| 欧美不卡视频一区| 国产精品短视频| 婷婷中文字幕综合| 91视频在线观看免费| 欧美性一级生活| 精品国产乱码久久久久久蜜臀| 精品久久久久久久久久久久包黑料 | 欧美一卡2卡3卡4卡| 日本一区二区成人| 日韩vs国产vs欧美| 91福利精品第一导航| 欧美精品一区二区在线观看| 亚洲一区av在线| 成人av网站在线| 精品少妇一区二区三区在线视频| 夜夜亚洲天天久久| 国产精品99久久久| 欧美日韩mp4| 亚洲图片自拍偷拍| 粉嫩一区二区三区性色av| 欧美日韩一卡二卡三卡| 久久一日本道色综合| 国产精品欧美经典| 日韩高清不卡在线| 91欧美激情一区二区三区成人| 欧美一区二区三区日韩视频| 欧美韩日一区二区三区四区| 午夜欧美电影在线观看| 99热这里都是精品| 久久久国产精品不卡| 日韩va亚洲va欧美va久久| 国产不卡在线视频| 久久久久久久国产精品影院| 美女精品一区二区| 日韩欧美久久久| 免费成人结看片| 欧美日本在线播放| 亚洲一区二区三区四区在线免费观看| 成人看片黄a免费看在线| 久久久久久久性| 国产激情一区二区三区桃花岛亚洲| 亚洲一区免费观看| 亚洲成av人片| 色综合网站在线| 午夜日韩在线观看| 欧美日产在线观看| 韩国女主播一区| 国产精品久久久久久久久快鸭| 日韩高清一级片| 精品欧美乱码久久久久久1区2区| 一级日本不卡的影视| 色综合天天天天做夜夜夜夜做| 国产人久久人人人人爽| av午夜精品一区二区三区| 国产精品嫩草影院av蜜臀| 91农村精品一区二区在线| 亚洲视频电影在线| 精品国产不卡一区二区三区| 青娱乐精品视频| 国产精品久线观看视频| 91精品欧美久久久久久动漫| 精品在线播放免费| √…a在线天堂一区| 欧美久久久一区| 97国产一区二区| 精彩视频一区二区| 亚洲午夜免费视频| 国产精品乱子久久久久| 91超碰这里只有精品国产| 91丨porny丨首页| 国产在线播放一区| 亚洲va国产va欧美va观看| 国产精品色一区二区三区| 欧美日韩免费视频| 91在线一区二区三区| 婷婷久久综合九色国产成人| 亚洲日本在线天堂| 亚洲国产精华液网站w| 久久久久国产精品人| 欧美日韩一区二区三区四区| 色乱码一区二区三区88| 国产精品18久久久久久久久久久久 | 不卡在线视频中文字幕| 国产成人免费在线| 五月激情丁香一区二区三区| 精品欧美乱码久久久久久1区2区| 国产91丝袜在线观看| 国内成人精品2018免费看| 亚洲最快最全在线视频| 亚洲欧洲中文日韩久久av乱码| 欧美极品aⅴ影院| 中文字幕一区二区三区精华液 | 日韩一级黄色片| 在线观看日韩国产| 在线电影院国产精品| 欧美日韩中文字幕一区| 欧美精品三级日韩久久| 欧美日韩电影在线| 精品国产1区二区| 国产女同性恋一区二区| 国产午夜精品久久久久久免费视 | 欧美r级电影在线观看| 久久一留热品黄| 欧美国产激情一区二区三区蜜月| 日韩毛片一二三区| 五月天激情小说综合| 免费在线观看不卡| 视频在线观看一区| 精品一区二区三区日韩| 国产传媒一区在线| 色综合夜色一区| 欧美大片在线观看一区二区| 国产午夜久久久久| 中文字幕一区二区三区在线不卡| 亚洲老司机在线| 精品一区二区成人精品| 在线免费观看日本欧美| 精品va天堂亚洲国产| 一区二区日韩av| 国产成人精品网址| 欧美色区777第一页| 中文字幕一区二区三区不卡| 毛片一区二区三区| 欧美视频在线一区二区三区 | 精品在线免费观看| 97精品久久久久中文字幕| 久久久精品国产免费观看同学| 亚洲va韩国va欧美va|