?? opccomn_ps.cpp
字號:
NDRTYPES ndrtypes; HRESULT hrMethod; HRESULT hr; NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&szName, pms, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr; hr = msg.SendReceive (); if (FAILED (hr)) return hr; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return hrMethod; }HRESULT STDMETHODCALLTYPE IOPCCommon_SetClientName_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg) { NDRTYPES ndrtypes; HRESULT hr; HRESULT hrMethod; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); LPCWSTR szName; hr=widlUnmarshal (&szName, pus, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr; hrMethod = pitf->SetClientName (szName); NdrMarshalStream* pms = msg.marshalStreamGet (); hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return S_OK; }COM_VTABLE(IOPCCommon) IOPCCommon_vxproxy_vtbl = { COM_VTBL_HEADER COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy), COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy), COM_VTBL_METHOD(&IUnknown_Release_vxproxy), COM_VTBL_METHOD(&IOPCCommon_SetLocaleID_vxproxy), COM_VTBL_METHOD(&IOPCCommon_GetLocaleID_vxproxy), COM_VTBL_METHOD(&IOPCCommon_QueryAvailableLocaleIDs_vxproxy), COM_VTBL_METHOD(&IOPCCommon_GetErrorString_vxproxy), COM_VTBL_METHOD(&IOPCCommon_SetClientName_vxproxy), };const PFN_ORPC_STUB stub_functbl_IOPCCommon [] = { 0,0,0, (PFN_ORPC_STUB) IOPCCommon_SetLocaleID_vxstub, (PFN_ORPC_STUB) IOPCCommon_GetLocaleID_vxstub, (PFN_ORPC_STUB) IOPCCommon_QueryAvailableLocaleIDs_vxstub, (PFN_ORPC_STUB) IOPCCommon_GetErrorString_vxstub, (PFN_ORPC_STUB) IOPCCommon_SetClientName_vxstub, };EXTERN_C const VXDCOM_STUB_DISPTBL IOPCCommon_vxstub_disptbl = { 8, stub_functbl_IOPCCommon };VXDCOM_PS_AUTOREGISTER(IOPCCommon);HRESULT STDMETHODCALLTYPE IOPCServerList_EnumClassesOfCategories_vxproxy (IOPCServerList* pThis, ULONG cImplemented, CATID* rgcatidImpl, ULONG cRequired, CATID* rgcatidReq, IEnumGUID** ppenumClsid) { RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 3, pThis); NDRTYPES ndrtypes; HRESULT hrMethod; HRESULT hr; NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&cImplemented, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr; hr=widlMarshal (&rgcatidImpl, pms, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID), cImplemented))); if (FAILED(hr)) return hr; hr=widlMarshal (&cRequired, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr; hr=widlMarshal (&rgcatidReq, pms, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID), cRequired))); if (FAILED(hr)) return hr; hr = msg.SendReceive (); if (FAILED (hr)) return hr; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); hr=widlUnmarshal (&ppenumClsid, pus, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr; hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return hrMethod; }HRESULT STDMETHODCALLTYPE IOPCServerList_EnumClassesOfCategories_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg) { NDRTYPES ndrtypes; HRESULT hr; HRESULT hrMethod; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); ULONG cImplemented; hr=widlUnmarshal (&cImplemented, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr; CATID* rgcatidImpl; hr=widlUnmarshal (&rgcatidImpl, pus, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID)))); if (FAILED(hr)) return hr; ULONG cRequired; hr=widlUnmarshal (&cRequired, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr; CATID* rgcatidReq; hr=widlUnmarshal (&rgcatidReq, pus, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID)))); if (FAILED(hr)) return hr; IEnumGUID* ppenumClsid_tmp = 0; IEnumGUID** ppenumClsid = &ppenumClsid_tmp; hrMethod = pitf->EnumClassesOfCategories (cImplemented, rgcatidImpl, cRequired, rgcatidReq, ppenumClsid); NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&ppenumClsid, pms, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr; hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; if ((*ppenumClsid)) {((*ppenumClsid))->Release ();}; return S_OK; }HRESULT STDMETHODCALLTYPE IOPCServerList_GetClassDetails_vxproxy (IOPCServerList* pThis, REFCLSID clsid, LPOLESTR* ppszProgID, LPOLESTR* ppszUserType) { RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 4, pThis); NDRTYPES ndrtypes; HRESULT hrMethod; HRESULT hr; NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&clsid, pms, StructDesc__GUID (ndrtypes)); if (FAILED(hr)) return hr; hr = msg.SendReceive (); if (FAILED (hr)) return hr; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); hr=widlUnmarshal (&ppszProgID, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr; hr=widlUnmarshal (&ppszUserType, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr; hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return hrMethod; }HRESULT STDMETHODCALLTYPE IOPCServerList_GetClassDetails_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg) { NDRTYPES ndrtypes; HRESULT hr; HRESULT hrMethod; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); CLSID clsid; hr=widlUnmarshal (&clsid, pus, StructDesc__GUID (ndrtypes)); if (FAILED(hr)) return hr; LPOLESTR ppszProgID_tmp; LPOLESTR* ppszProgID = &ppszProgID_tmp; LPOLESTR ppszUserType_tmp; LPOLESTR* ppszUserType = &ppszUserType_tmp; hrMethod = pitf->GetClassDetails (clsid, ppszProgID, ppszUserType); NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&ppszProgID, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr; hr=widlMarshal (&ppszUserType, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr; hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; if ((*ppszProgID)) {CoTaskMemFree ((*ppszProgID));}if ((*ppszUserType)) {CoTaskMemFree ((*ppszUserType));}; return S_OK; }HRESULT STDMETHODCALLTYPE IOPCServerList_CLSIDFromProgID_vxproxy (IOPCServerList* pThis, LPCOLESTR szProgId, LPCLSID clsid) { RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 5, pThis); NDRTYPES ndrtypes; HRESULT hrMethod; HRESULT hr; NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&szProgId, pms, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr; hr = msg.SendReceive (); if (FAILED (hr)) return hr; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); hr=widlUnmarshal (&clsid, pus, ndrtypes.refptr_t(StructDesc__GUID (ndrtypes))); if (FAILED(hr)) return hr; hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return hrMethod; }HRESULT STDMETHODCALLTYPE IOPCServerList_CLSIDFromProgID_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg) { NDRTYPES ndrtypes; HRESULT hr; HRESULT hrMethod; NdrUnmarshalStream* pus = msg.unmarshalStreamGet (); LPCOLESTR szProgId; hr=widlUnmarshal (&szProgId, pus, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr; CLSID clsid_tmp; LPCLSID clsid = &clsid_tmp; hrMethod = pitf->CLSIDFromProgID (szProgId, clsid); NdrMarshalStream* pms = msg.marshalStreamGet (); hr=widlMarshal (&clsid, pms, ndrtypes.refptr_t(StructDesc__GUID (ndrtypes))); if (FAILED(hr)) return hr; hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t()); if (FAILED(hr)) return hr; return S_OK; }COM_VTABLE(IOPCServerList) IOPCServerList_vxproxy_vtbl = { COM_VTBL_HEADER COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy), COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy), COM_VTBL_METHOD(&IUnknown_Release_vxproxy), COM_VTBL_METHOD(&IOPCServerList_EnumClassesOfCategories_vxproxy), COM_VTBL_METHOD(&IOPCServerList_GetClassDetails_vxproxy), COM_VTBL_METHOD(&IOPCServerList_CLSIDFromProgID_vxproxy), };const PFN_ORPC_STUB stub_functbl_IOPCServerList [] = { 0,0,0, (PFN_ORPC_STUB) IOPCServerList_EnumClassesOfCategories_vxstub, (PFN_ORPC_STUB) IOPCServerList_GetClassDetails_vxstub, (PFN_ORPC_STUB) IOPCServerList_CLSIDFromProgID_vxstub, };EXTERN_C const VXDCOM_STUB_DISPTBL IOPCServerList_vxstub_disptbl = { 6, stub_functbl_IOPCServerList };VXDCOM_PS_AUTOREGISTER(IOPCServerList);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -