⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcedispatchtable.cpp

📁 vxworks操作系统的源代码 供研究学习
💻 CPP
字号:
/* DceDispatchTable.cpp - VxDCOM DceDispatchTable class *//* Copyright (c) 1999 Wind River Systems, Inc. *//*modification history--------------------01f,17dec01,nel  Add include symbol for diab.01e,20sep00,nel  Add REFIID parameter to interfaceInfoGet method.01d,18sep00,nel  SPR#33730. Merge T2 OPC fixes into T3 branch.01c,10aug00,nel  Win2K fix.01b,27jul99,drm  Returning CLSID from interfaceInfoGet().01a,02jun99,dbs  created*/#include "DceDispatchTable.h"#include "OxidResolver.h"#include "Syslog.h"/* Include symbol for diab build */extern "C" int include_vxdcom_DceDispatchTable (void)    {    return 0;    }////////////////////////////////////////////////////////////////////////////bool DceDispatchTable::supportsInterface (REFIID riid)    {    VxCritSec cs (m_mutex);    return (m_dispmap.find (riid) != m_dispmap.end ());    }	////////////////////////////////////////////////////////////////////////////HRESULT DceDispatchTable::interfaceInfoGet    (    REFIID      riid,    REFIPID		/*ripid*/,    ULONG		methodNum,    IUnknown**		ppunk,    PFN_ORPC_STUB*	ppfn,    CLSID &		classid    )    {    classid = GUID_NULL;    VxCritSec cs (m_mutex);    VXDCOM_STUB_DISPTBL* ptbl = m_dispmap [riid];    if (methodNum >= ptbl->nFuncs)        {        if (IsEqualGUID (riid, IID_IOXIDResolver))            {            // strange failure value required by win2k when querying             // OXIDResolver for method 5 (which it doesn't support            return MAKE_HRESULT (0, 0x1c01, 2);	            }        return MAKE_HRESULT (SEVERITY_ERROR,                             FACILITY_RPC,                             RPC_S_PROCNUM_OUT_OF_RANGE);        }    *ppfn = ptbl->funcs [methodNum];    *ppunk = 0;    return S_OK;    }	////////////////////////////////////////////////////////////////////////////// DceDispatchTable::dceInterfaceRegister -- method to register DCE// RPC interface with stub dispatch-table...//HRESULT DceDispatchTable::dceInterfaceRegister    (    REFIID			riid,    const VXDCOM_STUB_DISPTBL*	ptbl    )    {    m_dispmap [riid] = const_cast<VXDCOM_STUB_DISPTBL*> (ptbl);    return S_OK;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -