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

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

?? ienumfe.cpp

?? 英文版的 想要的話可以下載了 為大家服務(wù)
?? CPP
字號:
/*
 * IENUMFE.CPP
 *
 * Standard implementation of a FORMATETC enumerator with the
 * IEnumFORMATETC interface that will generally not need
 * modification.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */


#include "ienumfe.h"


/*
 * CEnumFormatEtc::CEnumFormatEtc
 * CEnumFormatEtc::~CEnumFormatEtc
 *
 * Parameters (Constructor):
 *  cFE             ULONG number of FORMATETCs in pFE
 *  prgFE           LPFORMATETC to the array to enumerate.
 */

CEnumFormatEtc::CEnumFormatEtc(ULONG cFE, LPFORMATETC prgFE)
    {
    UINT        i;

    m_cRef=0;
    m_iCur=0;
    m_cfe=cFE;
    m_prgfe=new FORMATETC[(UINT)cFE];

    if (NULL!=m_prgfe)
        {
        for (i=0; i < cFE; i++)
            m_prgfe[i]=prgFE[i];
        }

    return;
    }


CEnumFormatEtc::~CEnumFormatEtc(void)
    {
    if (NULL!=m_prgfe)
        delete [] m_prgfe;

    return;
    }






/*
 * CEnumFormatEtc::QueryInterface
 * CEnumFormatEtc::AddRef
 * CEnumFormatEtc::Release
 *
 * Purpose:
 *  IUnknown members for CEnumFormatEtc object.  For QueryInterface
 *  we only return out own interfaces and not those of the data
 *  object.  However, since enumerating formats only makes sense
 *  when the data object is around, we insure that it stays as
 *  long as we stay by calling an outer IUnknown for AddRef
 *  and Release.  But since we are not controlled by the lifetime
 *  of the outer object, we still keep our own reference count in
 *  order to free ourselves.
 */

STDMETHODIMP CEnumFormatEtc::QueryInterface(REFIID riid
    , LPVOID *ppv)
    {
    *ppv=NULL;

    /*
     * Enumerators are separate objects, not the data object, so
     * we only need to support out IUnknown and IEnumFORMATETC
     * interfaces here with no concern for aggregation.
     */
    if (IID_IUnknown==riid || IID_IEnumFORMATETC==riid)
        *ppv=(LPVOID)this;

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

    return ResultFromScode(E_NOINTERFACE);
    }


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

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

    delete this;
    return 0;
    }






/*
 * CEnumFormatEtc::Next
 *
 * Purpose:
 *  Returns the next element in the enumeration.
 *
 * Parameters:
 *  cFE             ULONG number of FORMATETCs to return.
 *  pFE             LPFORMATETC in which to store the returned
 *                  structures.
 *  pulFE           ULONG * in which to return how many we
 *                  enumerated.
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, S_FALSE otherwise,
 */

STDMETHODIMP CEnumFormatEtc::Next(ULONG cFE, LPFORMATETC pFE
    , ULONG *pulFE)
    {
    ULONG               cReturn=0L;

    if (NULL==m_prgfe)
        return ResultFromScode(S_FALSE);

    if (NULL==pulFE)
        {
        if (1L!=cFE)
            return ResultFromScode(E_POINTER);
        }
    else
        *pulFE=0L;

    if (NULL==pFE || m_iCur >= m_cfe)
        return ResultFromScode(S_FALSE);

    while (m_iCur < m_cfe && cFE > 0)
        {
        *pFE++=m_prgfe[m_iCur++];
        cReturn++;
        cFE--;
        }

    if (NULL!=pulFE)
        *pulFE=cReturn;

    return NOERROR;
    }







/*
 * CEnumFormatEtc::Skip
 *
 * Purpose:
 *  Skips the next n elements in the enumeration.
 *
 * Parameters:
 *  cSkip           ULONG number of elements to skip.
 *
 * Return Value:
 *  HRESULT         NOERROR if successful, S_FALSE if we could not
 *                  skip the requested number.
 */

STDMETHODIMP CEnumFormatEtc::Skip(ULONG cSkip)
    {
    if (((m_iCur+cSkip) >= m_cfe) || NULL==m_prgfe)
        return ResultFromScode(S_FALSE);

    m_iCur+=cSkip;
    return NOERROR;
    }






/*
 * CEnumFormatEtc::Reset
 *
 * Purpose:
 *  Resets the current element index in the enumeration to zero.
 *
 * Parameters:
 *  None
 */

STDMETHODIMP CEnumFormatEtc::Reset(void)
    {
    m_iCur=0;
    return NOERROR;
    }






/*
 * CEnumFormatEtc::Clone
 *
 * Purpose:
 *  Returns another IEnumFORMATETC with the same state as ourselves.
 *
 * Parameters:
 *  ppEnum          LPENUMFORMATETC * in which to return the
 *                  new object.
 */

STDMETHODIMP CEnumFormatEtc::Clone(LPENUMFORMATETC *ppEnum)
    {
    PCEnumFormatEtc pNew;

    *ppEnum=NULL;

    //Create the clone
    pNew=new CEnumFormatEtc(m_cfe, m_prgfe);

    if (NULL==pNew)
        return ResultFromScode(E_OUTOFMEMORY);

    pNew->AddRef();
    pNew->m_iCur=m_iCur;

    *ppEnum=pNew;
    return NOERROR;
    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩成人av| 欧美高清激情brazzers| 亚洲国产成人av| 精品国产人成亚洲区| 欧美亚洲高清一区| 国产精品亚洲第一区在线暖暖韩国| 亚洲精品ww久久久久久p站| 欧美xfplay| 欧美日韩专区在线| 99久久夜色精品国产网站| 日本成人在线不卡视频| 亚洲欧美日韩国产另类专区| 精品久久久久久亚洲综合网| 欧美顶级少妇做爰| 色偷偷88欧美精品久久久| 国产精品18久久久久| 偷拍与自拍一区| 亚洲精品水蜜桃| 中文字幕永久在线不卡| 2022国产精品视频| 7799精品视频| 在线观看91视频| 波多野结衣精品在线| 国产一区二区三区四区五区美女| 男人的天堂久久精品| 亚洲成人资源在线| 亚洲无线码一区二区三区| 亚洲日本一区二区| 国产精品精品国产色婷婷| 亚洲国产精品黑人久久久| 精品99一区二区| 欧美tickling挠脚心丨vk| 欧美一级精品大片| 日韩一区二区免费高清| 91精品国产色综合久久不卡蜜臀| 欧美亚日韩国产aⅴ精品中极品| 99久久99久久精品免费观看| 成人国产精品免费观看| 国产精品白丝jk白祙喷水网站| 狠狠色丁香久久婷婷综| 国产一区久久久| 国产成人综合亚洲91猫咪| 欧美曰成人黄网| 欧美日韩一卡二卡三卡| 在线电影一区二区三区| 欧美日韩国产大片| 欧美日韩精品电影| 欧美一级二级三级乱码| 日韩精品一区二区三区中文精品| 欧美一区午夜视频在线观看| 欧美一级黄色录像| 久久综合久色欧美综合狠狠| 久久久无码精品亚洲日韩按摩| 久久免费的精品国产v∧| 日本一区二区在线不卡| 国产精品不卡一区| 一区二区三区**美女毛片| 亚洲在线视频网站| 免费一级片91| 国产一区二区三区日韩| 成人开心网精品视频| 91麻豆精品秘密| 欧美日韩国产高清一区二区| 精品国产麻豆免费人成网站| 国产精品夜夜嗨| 亚洲人吸女人奶水| 性欧美疯狂xxxxbbbb| 另类调教123区 | 日韩欧美你懂的| 国产色爱av资源综合区| 中文字幕中文在线不卡住| 亚洲午夜一二三区视频| 免费人成在线不卡| 成人性视频免费网站| 欧美在线一区二区三区| 日韩精品在线一区| 国产精品久久久久久久久免费樱桃 | 精品国产91亚洲一区二区三区婷婷 | 日韩天堂在线观看| 久久久久久久网| 亚洲精品免费在线播放| 美女网站视频久久| 北条麻妃国产九九精品视频| 欧美色综合网站| 2014亚洲片线观看视频免费| 亚洲四区在线观看| 开心九九激情九九欧美日韩精美视频电影 | 欧美色图12p| 久久久久久久久久久久电影| 亚洲蜜桃精久久久久久久| 久久精品国产99国产| 91最新地址在线播放| 日韩精品中文字幕一区二区三区| 国产精品国产精品国产专区不蜜| 日韩成人午夜精品| 97久久精品人人做人人爽50路| 91精品久久久久久蜜臀| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲va韩国va欧美va精品| 国产一区二区三区精品欧美日韩一区二区三区| 91麻豆文化传媒在线观看| 久久女同性恋中文字幕| 五月激情综合网| www.av精品| 久久免费偷拍视频| 免费看日韩a级影片| 色狠狠色狠狠综合| 国产清纯白嫩初高生在线观看91| 日韩国产成人精品| 日本韩国精品在线| 国产亚洲精品福利| 久久国产精品72免费观看| 欧美日韩在线亚洲一区蜜芽| 中文字幕亚洲区| 国产成人午夜精品影院观看视频| 制服丝袜中文字幕亚洲| 最新高清无码专区| 国产成人啪午夜精品网站男同| 日韩精品一区二区三区视频在线观看 | 91国产精品成人| 国产精品区一区二区三| 韩国成人在线视频| 日韩亚洲欧美在线观看| 香蕉av福利精品导航| 色呦呦一区二区三区| 欧美伦理电影网| 色88888久久久久久影院按摩| 精品国产91久久久久久久妲己| 日本不卡1234视频| 欧美一级在线观看| 麻豆91免费观看| 精品理论电影在线观看 | 欧美视频一区在线| xfplay精品久久| 美女脱光内衣内裤视频久久影院| 久久久久综合网| 国产成人精品一区二| 国产午夜精品一区二区 | 日韩欧美亚洲另类制服综合在线| 亚洲一二三四区| 在线观看欧美黄色| 亚洲激情图片qvod| 色综合久久久久综合体桃花网| 亚洲欧洲美洲综合色网| www.亚洲激情.com| 亚洲视频1区2区| 91福利精品视频| 亚洲国产日韩精品| 制服丝袜日韩国产| 麻豆久久一区二区| 欧美精品一区在线观看| 国产在线视频一区二区三区| 久久综合色一综合色88| 国产在线精品一区二区| 国产亚洲欧美在线| 99久久伊人网影院| 亚洲一区二区视频在线观看| 欧美性猛片xxxx免费看久爱| 亚洲大片一区二区三区| 日韩天堂在线观看| 成人午夜电影久久影院| 综合av第一页| 欧美日本一道本| 国产一区二区三区日韩| 国产精品久久久久影视| 91香蕉视频污在线| 亚洲成年人网站在线观看| 日韩午夜在线播放| 国内精品国产三级国产a久久| 国产欧美视频一区二区三区| 色婷婷久久99综合精品jk白丝| 视频一区视频二区中文字幕| 26uuu精品一区二区三区四区在线| 国产suv精品一区二区6| 亚洲自拍偷拍av| 久久一留热品黄| 色综合色综合色综合| 日韩福利电影在线观看| 日本一区免费视频| 欧美日韩免费电影| 激情综合色丁香一区二区| 18成人在线视频| 欧美一区二区视频观看视频| 成人免费毛片片v| 婷婷六月综合网| 欧美韩日一区二区三区四区| 欧美视频一区二区在线观看| 国产精品一区二区在线观看网站| 有码一区二区三区| 精品av综合导航| 欧美色图12p| 99久久精品国产精品久久| 亚洲黄色免费网站| 国产夜色精品一区二区av| 欧美在线你懂得| 国产suv精品一区二区三区| 日韩精品一级二级| 亚洲人成7777| 国产亚洲自拍一区| 91精品国产综合久久久久久久|