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

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

?? beeper.cpp

?? 英文版的 想要的話可以下載了 為大家服務
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
         *
         * NOTE:  You should prepend your DIR registry key to the
         * .TLB name so you don't depend on it being it the PATH.
         * This sample will be updated later to reflect this.
         */
        if (FAILED(hr))
            {
            switch (PRIMARYLANGID(lcid))
                {
                case LANG_NEUTRAL:
                case LANG_ENGLISH:
                    hr=LoadTypeLib(OLETEXT("BEEP0000.TLB"), &pITypeLib);
                    break;

                case LANG_GERMAN:
                    hr=LoadTypeLib(OLETEXT("BEEP0007.TLB"), &pITypeLib);
                    break;
                }
            }

        if (FAILED(hr))
            return hr;

        //Got the type lib, get type info for the interface we want
        hr=pITypeLib->GetTypeInfoOfGuid(DIID_DIBeeper, ppITI);
        pITypeLib->Release();

        if (FAILED(hr))
            return hr;
        }

    /*
     * Note:  the type library is still loaded since we have
     * an ITypeInfo from it.
     */

    (*ppITI)->AddRef();
    *ppITypeInfo=*ppITI;
    return NOERROR;
    }









/*
 * CImpIDispatch::GetIDsOfNames
 *
 * Purpose:
 *  Converts text names into DISPIDs to pass to Invoke
 *
 * Parameters:
 *  riid            REFIID reserved.  Must be IID_NULL.
 *  rgszNames       OLECHAR ** pointing to the array of names to be
 *                  mapped.
 *  cNames          UINT number of names to be mapped.
 *  lcid            LCID of the locale.
 *  rgDispID        DISPID * caller allocated array containing IDs
 *                  corresponging to those names in rgszNames.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error code.
 */

STDMETHODIMP CImpIDispatch::GetIDsOfNames(REFIID riid
    , OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgDispID)
    {
    HRESULT     hr;
    ITypeInfo  *pTI;

    if (IID_NULL!=riid)
        return ResultFromScode(DISP_E_UNKNOWNINTERFACE);

    //Get the right ITypeInfo for lcid.
    hr=GetTypeInfo(0, lcid, &pTI);

    if (SUCCEEDED(hr))
        {
        hr=DispGetIDsOfNames(pTI, rgszNames, cNames, rgDispID);
        pTI->Release();
        }

    return hr;
    }



/*
 * CImpIDispatch::Invoke
 *
 * Purpose:
 *  Calls a method in the dispatch interface or manipulates a
 *  property.
 *
 * Parameters:
 *  dispID          DISPID of the method or property of interest.
 *  riid            REFIID reserved, must be IID_NULL.
 *  lcid            LCID of the locale.
 *  wFlags          USHORT describing the context of the invocation.
 *  pDispParams     DISPPARAMS * to the array of arguments.
 *  pVarResult      VARIANT * in which to store the result.  Is
 *                  NULL if the caller is not interested.
 *  pExcepInfo      EXCEPINFO * to exception information.
 *  puArgErr        UINT * in which to store the index of an
 *                  invalid parameter if DISP_E_TYPEMISMATCH
 *                  is returned.
 *
 * Return Value:
 *  HRESULT         NOERROR or a general error code.
 */

STDMETHODIMP CImpIDispatch::Invoke(DISPID dispID, REFIID riid
    , LCID lcid, unsigned short wFlags, DISPPARAMS *pDispParams
    , VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
    {
    HRESULT     hr;
    ITypeInfo  *pTI;
    LANGID      langID=PRIMARYLANGID(lcid);

    //riid is supposed to be IID_NULL always
    if (IID_NULL!=riid)
        return ResultFromScode(DISP_E_UNKNOWNINTERFACE);

    //Get the ITypeInfo for lcid
    hr=GetTypeInfo(0, lcid, &pTI);

    if (FAILED(hr))
        return hr;

   #ifdef WIN32
    //This saves the language ID for this thread
    TlsSetValue(g_dwTLS, &langID);
   #else
    g_langID=langID;
   #endif

    //Clear exceptions
    SetErrorInfo(0L, NULL);

    //This is exactly what DispInvoke does--so skip the overhead.
    hr=pTI->Invoke((IBeeper *)m_pObj, dispID, wFlags
        , pDispParams, pVarResult, pExcepInfo, puArgErr);

    //Exception handling is done within ITypeInfo::Invoke

    pTI->Release();
    return hr;
    }




/*
 * CImpIDispatch::Exception
 *
 * Purpose:
 *  Raises an exception for CImpIDispatch::Invoke from within
 *  ITypeInfo::Invoke using the CreateErrorInfo API and the
 *  ICreateErrorInfo interface.
 *
 *  Note that this method doesn't allow for deferred filling
 *  of an EXCEPINFO structure.
 *
 * Parameters:
 *  wException      WORD exception code.
 */

void CImpIDispatch::Exception(WORD wException)
    {
    HRESULT             hr;
    ICreateErrorInfo   *pICreateErr;
    BOOL                fSuccess;
    LPTSTR              psz;
    LPOLESTR            pszHelp;
    UINT                idsSource;
    UINT                idsException;
    DWORD               dwHelpID;
    LANGID              langID=LANG_NEUTRAL;
   #ifdef WIN32
    LANGID             *pLangID;
   #endif

   #ifdef WIN32
    pLangID=(LANGID *)TlsGetValue(g_dwTLS);

    if (NULL!=pLangID)
        langID=*pLangID;
   #else
        langID=g_langID;
   #endif

    /*
     * Thread-safe exception handling means that we call
     * CreateErrorInfo which gives us an ICreateErrorInfo pointer
     * that we then use to set the error information (basically
     * to set the fields of an EXCEPINFO structure.  We then
     * call SetErrorInfo to attach this error to the current
     * thread.  ITypeInfo::Invoke will look for this when it
     * returns from whatever function was invokes by calling
     * GetErrorInfo.
     */

    //Not much we can do if this fails.
    if (FAILED(CreateErrorInfo(&pICreateErr)))
        return;

    psz=(LPTSTR)malloc(1024*sizeof(TCHAR));

    if (NULL==psz)
        {
        pICreateErr->Release();
        return;
        }

    fSuccess=FALSE;

    switch (wException)
        {
        case EXCEPTION_INVALIDSOUND:
            pICreateErr->SetGUID(DIID_DIBeeper);

            dwHelpID=HID_SOUND_PROPERTY_LIMITATIONS;

            pszHelp=OLETEXT("beep0000.hlp");
            idsSource=IDS_0_EXCEPTIONSOURCE;
            idsException=IDS_0_EXCEPTIONINVALIDSOUND;

            switch (langID)
                {
                case LANG_GERMAN:
                    idsSource=IDS_7_EXCEPTIONSOURCE;
                    idsException=IDS_7_EXCEPTIONINVALIDSOUND;
                    pszHelp=OLETEXT("beep0007.hlp");
                    break;

                case LANG_ENGLISH:
                case LANG_NEUTRAL:
                default:
                    break;
                }

            fSuccess=TRUE;
            break;

        default:
            break;
        }


    if (fSuccess)
        {
        IErrorInfo *pIErr;

        /*
         * If you have a help file, call the functions
         * ICreateErrorInfo::SetHelpFile and
         * ICreateErrorInfo::SetHelpContext as well.  If you
         * set the help file to NULL the context is ignored.
         */
        pICreateErr->SetHelpFile(pszHelp);
        pICreateErr->SetHelpContext(dwHelpID);

       #ifdef WIN32ANSI
        OLECHAR     szTemp[256];

        LoadString(g_hInst, idsSource, psz, 256);
        MultiByteToWideChar(CP_ACP, 0, psz, -1, szTemp, 256);
        pICreateErr->SetSource(szTemp);

        LoadString(g_hInst, idsException, psz, 256);
        MultiByteToWideChar(CP_ACP, 0, psz, -1, szTemp, 256);
        pICreateErr->SetDescription(szTemp);
       #else
        LoadString(g_hInst, idsSource, psz, 1024);
        pICreateErr->SetSource(psz);

        LoadString(g_hInst, idsException, psz, 1024);
        pICreateErr->SetDescription(psz);
       #endif

        hr=pICreateErr->QueryInterface(IID_IErrorInfo
            , (PPVOID)&pIErr);

        if (SUCCEEDED(hr))
            {
            SetErrorInfo(0L, pIErr);
            pIErr->Release();
            }
        }

    free(psz);

    //SetErrorInfo holds the object's IErrorInfo
    pICreateErr->Release();
    return;
    }





//ISupportErrorInfo interface implementation

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

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

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



/*
 * CImpISupportErrorInfo::QueryInterface
 * CImpISupportErrorInfo::AddRef
 * CImpISupportErrorInfo::Release
 *
 * Purpose:
 *  IUnknown members for CImpISupportErrorInfo object.
 */

STDMETHODIMP CImpISupportErrorInfo::QueryInterface(REFIID riid
    , PPVOID ppv)
    {
    return m_pUnkOuter->QueryInterface(riid, ppv);
    }


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

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



/*
 * CImpISupportErrorInfo::InterfaceSupportsErrorInfo
 *
 * Purpose:
 *  Informs a caller whether or not a specific interface
 *  supports exceptions through the Set/GetErrorInfo mechanism.
 *
 * Parameters:
 *  riid            REFIID of the interface in question.
 *
 * Return Value:
 *  HRESULT         NOERROR if a call to GetErrorInfo will succeed
 *                  for callers of riid.  S_FALSE if not.
 */

STDMETHODIMP CImpISupportErrorInfo::InterfaceSupportsErrorInfo
    (REFIID riid)
    {
    if (DIID_DIBeeper==riid)
        return NOERROR;

    return ResultFromScode(S_FALSE);
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合在线观看| 91黄色小视频| 亚洲午夜电影在线观看| 日韩欧美成人激情| 91蝌蚪国产九色| 久草精品在线观看| 亚洲精品你懂的| 国产三区在线成人av| 91精品国产麻豆国产自产在线| 成人激情综合网站| 韩国精品久久久| 亚洲一二三区在线观看| 中文字幕日韩av资源站| 久久亚洲精精品中文字幕早川悠里| 91豆麻精品91久久久久久| 国产凹凸在线观看一区二区| 蜜桃一区二区三区在线观看| 亚洲男同1069视频| 久久亚洲精品小早川怜子| 日韩一区二区三区在线观看 | 91福利视频网站| 国产高清不卡一区| 精品在线播放免费| 秋霞国产午夜精品免费视频| 夜夜揉揉日日人人青青一国产精品| 中文字幕av一区二区三区高| 精品精品国产高清a毛片牛牛| 欧美视频完全免费看| 色激情天天射综合网| 99久久免费视频.com| 成人免费高清在线观看| 韩国三级在线一区| 麻豆一区二区在线| 天天爽夜夜爽夜夜爽精品视频| 亚洲午夜电影在线| 一区二区三区精品视频| 亚洲另类中文字| 亚洲欧美激情视频在线观看一区二区三区 | 综合久久久久久| 中文字幕av一区 二区| 久久久久久一二三区| 2023国产精品自拍| 久久伊人蜜桃av一区二区| 欧美精品一区二区三区高清aⅴ| 日韩欧美一级二级| 久久久久久久久久久久久久久99| 337p粉嫩大胆色噜噜噜噜亚洲| 精品播放一区二区| 久久婷婷综合激情| 欧美激情中文不卡| 中文字幕日本乱码精品影院| 日韩一区中文字幕| 亚洲一区二区三区免费视频| 亚洲成精国产精品女| 婷婷开心激情综合| 久久99精品久久只有精品| 国产一区二区三区香蕉| 国产成人一级电影| 99国产精品视频免费观看| 91福利精品第一导航| 欧美久久婷婷综合色| 欧美大片拔萝卜| 国产色产综合产在线视频| 国产精品久久久久影院色老大| 亚洲人成人一区二区在线观看| 亚洲亚洲人成综合网络| 麻豆精品一区二区三区| 国产成人激情av| 在线精品视频一区二区三四| 欧美一区二区私人影院日本| 久久综合九色综合欧美98| 国产精品久久久久久久久果冻传媒 | eeuss鲁片一区二区三区 | 欧美激情一二三区| 一区二区三区久久久| 免费观看久久久4p| 成人毛片视频在线观看| 在线精品国精品国产尤物884a| 91精品黄色片免费大全| 国产婷婷色一区二区三区四区 | 午夜视频在线观看一区| 久久69国产一区二区蜜臀| 99精品国产91久久久久久| 91精品国产色综合久久不卡蜜臀 | 精品va天堂亚洲国产| 亚洲私人黄色宅男| 麻豆精品一二三| 91丨九色丨蝌蚪丨老版| 欧美成人video| 亚洲精品中文字幕乱码三区| 奇米精品一区二区三区在线观看| 成人高清视频在线观看| 欧美美女一区二区在线观看| 国产欧美一区二区精品性| 亚洲国产综合色| 成人免费看视频| 日韩一级免费观看| 亚洲精品高清在线观看| 国产一区二区网址| 在线视频国产一区| 欧美国产丝袜视频| 激情久久久久久久久久久久久久久久| 91丨porny丨中文| 久久久久久97三级| 免费三级欧美电影| 欧美三级电影网| 国产精品久久久久久久久免费相片 | 26uuu久久天堂性欧美| 尤物在线观看一区| 成人免费观看男女羞羞视频| 欧美mv和日韩mv国产网站| 亚州成人在线电影| 色综合久久99| 国产精品视频一区二区三区不卡| 久久精品国产一区二区| 欧美日韩高清在线| 亚洲国产精品一区二区www | 99久久婷婷国产综合精品电影| 精品捆绑美女sm三区| 亚洲电影一级片| 97久久人人超碰| 久久久精品中文字幕麻豆发布| 美腿丝袜一区二区三区| 欧美二区三区91| 亚洲成av人综合在线观看| 色婷婷国产精品| 亚洲男人电影天堂| 91麻豆精品在线观看| 国产精品国产三级国产普通话99| 国产成a人无v码亚洲福利| 国产视频一区不卡| 丰满白嫩尤物一区二区| 欧美国产成人精品| 成人av集中营| 成人欧美一区二区三区在线播放| www.亚洲激情.com| 成人欧美一区二区三区黑人麻豆 | 视频一区视频二区中文| 欧美日韩国产经典色站一区二区三区| 亚洲香肠在线观看| 欧美美女视频在线观看| 日韩和欧美一区二区三区| 欧美丰满嫩嫩电影| 免费观看成人av| 久久蜜桃香蕉精品一区二区三区| 国产丶欧美丶日本不卡视频| 亚洲国产精品成人综合| 99久久婷婷国产综合精品| 亚洲欧美国产毛片在线| 欧美日韩中文国产| 日韩中文字幕区一区有砖一区| 911精品国产一区二区在线| 日韩有码一区二区三区| 日韩欧美黄色影院| 激情欧美一区二区| 中文子幕无线码一区tr | 精品久久免费看| 成人永久免费视频| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲va国产天堂va久久en| 337p亚洲精品色噜噜| 蜜桃传媒麻豆第一区在线观看| www日韩大片| 色哟哟一区二区在线观看| 天堂成人免费av电影一区| 欧美tickle裸体挠脚心vk| 成人a级免费电影| 一区二区三区日韩在线观看| 91精品国产综合久久精品麻豆| 国产福利一区二区| 亚洲精品乱码久久久久久久久| 69精品人人人人| 国产精品一区二区不卡| 日韩毛片精品高清免费| 69堂精品视频| 成人综合日日夜夜| 亚洲成av人片一区二区| 久久久亚洲综合| 色哟哟精品一区| 久久精品理论片| 亚洲人成网站精品片在线观看| 欧美一级日韩不卡播放免费| 成人一道本在线| 偷窥少妇高潮呻吟av久久免费| 国产日韩欧美高清在线| 欧美日韩精品一区二区天天拍小说 | 亚洲chinese男男1069| 精品国产乱码久久久久久浪潮 | 精品国产一区二区在线观看| 成人黄页在线观看| 香蕉久久夜色精品国产使用方法| 久久这里只有精品6| 91社区在线播放| 久久不见久久见中文字幕免费| 亚洲图片另类小说| 亚洲精品在线观| 3atv一区二区三区| 色综合久久中文综合久久97| 国产一区福利在线| 亚洲丰满少妇videoshd|