opccomn_ps.cpp
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:17k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* opccomn_ps.cpp generated by WIDL Version 2.2.1 on 06-Dec-01 at 11:55:06 AM */
  2. #define __WIDL_PROXY_STUB 0x0200
  3. #include "dcomProxy.h"
  4. #include "opccomn.h"
  5. #include <string.h>
  6. extern "C" int include_opccomn () {return 0;}
  7. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  8. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  9. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  10. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  11. HRESULT STDMETHODCALLTYPE IOPCShutdown_ShutdownRequest_vxproxy (IOPCShutdown* pThis, LPCWSTR szReason)
  12.     {
  13.     RPC_PROXY_MSG msg (IID_IOPCShutdown, RpcMode::OBJECT, 3, pThis);
  14.     NDRTYPES ndrtypes;
  15.     HRESULT hrMethod;
  16.     HRESULT hr;
  17.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  18.     hr=widlMarshal (&szReason, pms, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  19.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  20.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  21.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  22.     if (FAILED(hr))
  23.         return hr;
  24.     return hrMethod;
  25.     }
  26. HRESULT STDMETHODCALLTYPE IOPCShutdown_ShutdownRequest_vxstub (IOPCShutdown* pitf, RPC_STUB_MSG& msg)
  27.     {
  28.     NDRTYPES ndrtypes;
  29.     HRESULT hr;
  30.     HRESULT hrMethod;
  31.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  32.     LPCWSTR szReason;
  33.     hr=widlUnmarshal (&szReason, pus, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  34.     hrMethod = pitf->ShutdownRequest (szReason);
  35.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  36.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  37.     if (FAILED(hr))
  38.         return hr;
  39.     return S_OK;
  40.     }
  41. COM_VTABLE(IOPCShutdown) IOPCShutdown_vxproxy_vtbl = {
  42.     COM_VTBL_HEADER
  43.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  44.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  45.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  46.     COM_VTBL_METHOD(&IOPCShutdown_ShutdownRequest_vxproxy),
  47.     };
  48. const PFN_ORPC_STUB stub_functbl_IOPCShutdown [] =
  49.     {
  50.     0,0,0,
  51.     (PFN_ORPC_STUB) IOPCShutdown_ShutdownRequest_vxstub,
  52.     };
  53. EXTERN_C const VXDCOM_STUB_DISPTBL IOPCShutdown_vxstub_disptbl =
  54.     {
  55.     4,
  56.     stub_functbl_IOPCShutdown
  57.     };
  58. VXDCOM_PS_AUTOREGISTER(IOPCShutdown);
  59. HRESULT STDMETHODCALLTYPE IOPCCommon_SetLocaleID_vxproxy (IOPCCommon* pThis, LCID dwLcid)
  60.     {
  61.     RPC_PROXY_MSG msg (IID_IOPCCommon, RpcMode::OBJECT, 3, pThis);
  62.     NDRTYPES ndrtypes;
  63.     HRESULT hrMethod;
  64.     HRESULT hr;
  65.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  66.     hr=widlMarshal (&dwLcid, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  67.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  68.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  69.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  70.     if (FAILED(hr))
  71.         return hr;
  72.     return hrMethod;
  73.     }
  74. HRESULT STDMETHODCALLTYPE IOPCCommon_SetLocaleID_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg)
  75.     {
  76.     NDRTYPES ndrtypes;
  77.     HRESULT hr;
  78.     HRESULT hrMethod;
  79.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  80.     LCID dwLcid;
  81.     hr=widlUnmarshal (&dwLcid, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  82.     hrMethod = pitf->SetLocaleID (dwLcid);
  83.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  84.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  85.     if (FAILED(hr))
  86.         return hr;
  87.     return S_OK;
  88.     }
  89. HRESULT STDMETHODCALLTYPE IOPCCommon_GetLocaleID_vxproxy (IOPCCommon* pThis, LCID* pdwLcid)
  90.     {
  91.     RPC_PROXY_MSG msg (IID_IOPCCommon, RpcMode::OBJECT, 4, pThis);
  92.     NDRTYPES ndrtypes;
  93.     HRESULT hrMethod;
  94.     HRESULT hr;
  95.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  96.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  97.     hr=widlUnmarshal (&pdwLcid, pus, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  98.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  99.     if (FAILED(hr))
  100.         return hr;
  101.     return hrMethod;
  102.     }
  103. HRESULT STDMETHODCALLTYPE IOPCCommon_GetLocaleID_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg)
  104.     {
  105.     NDRTYPES ndrtypes;
  106.     HRESULT hr;
  107.     HRESULT hrMethod;
  108.     LCID pdwLcid_tmp;
  109.     LCID* pdwLcid = &pdwLcid_tmp;
  110.     hrMethod = pitf->GetLocaleID (pdwLcid);
  111.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  112.     hr=widlMarshal (&pdwLcid, pms, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  113.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  114.     if (FAILED(hr))
  115.         return hr;
  116.     return S_OK;
  117.     }
  118. HRESULT STDMETHODCALLTYPE IOPCCommon_QueryAvailableLocaleIDs_vxproxy (IOPCCommon* pThis, DWORD* pdwCount, LCID** pdwLcid)
  119.     {
  120.     RPC_PROXY_MSG msg (IID_IOPCCommon, RpcMode::OBJECT, 5, pThis);
  121.     NDRTYPES ndrtypes;
  122.     HRESULT hrMethod;
  123.     HRESULT hr;
  124.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  125.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  126.     hr=widlUnmarshal (&pdwCount, pus, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  127.     hr=widlUnmarshal (&pdwLcid, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.ulong_t (), NDR_SIZEOF(LCID))))); if (FAILED(hr)) return hr;
  128.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  129.     if (FAILED(hr))
  130.         return hr;
  131.     return hrMethod;
  132.     }
  133. HRESULT STDMETHODCALLTYPE IOPCCommon_QueryAvailableLocaleIDs_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg)
  134.     {
  135.     NDRTYPES ndrtypes;
  136.     HRESULT hr;
  137.     HRESULT hrMethod;
  138.     DWORD pdwCount_tmp;
  139.     DWORD* pdwCount = &pdwCount_tmp;
  140.     LCID* pdwLcid_tmp;
  141.     LCID** pdwLcid = &pdwLcid_tmp;
  142.     hrMethod = pitf->QueryAvailableLocaleIDs (pdwCount, pdwLcid);
  143.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  144.     hr=widlMarshal (&pdwCount, pms, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  145.     hr=widlMarshal (&pdwLcid, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.ulong_t (), NDR_SIZEOF(LCID), *pdwCount)))); if (FAILED(hr)) return hr;
  146.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  147.     if (FAILED(hr))
  148.         return hr;
  149.     if ((*pdwLcid)) {CoTaskMemFree ((*pdwLcid));};
  150.     return S_OK;
  151.     }
  152. HRESULT STDMETHODCALLTYPE IOPCCommon_GetErrorString_vxproxy (IOPCCommon* pThis, HRESULT dwError, LPWSTR* ppString)
  153.     {
  154.     RPC_PROXY_MSG msg (IID_IOPCCommon, RpcMode::OBJECT, 6, pThis);
  155.     NDRTYPES ndrtypes;
  156.     HRESULT hrMethod;
  157.     HRESULT hr;
  158.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  159.     hr=widlMarshal (&dwError, pms, ndrtypes.long_t ()); if (FAILED(hr)) return hr;
  160.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  161.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  162.     hr=widlUnmarshal (&ppString, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  163.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  164.     if (FAILED(hr))
  165.         return hr;
  166.     return hrMethod;
  167.     }
  168. HRESULT STDMETHODCALLTYPE IOPCCommon_GetErrorString_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg)
  169.     {
  170.     NDRTYPES ndrtypes;
  171.     HRESULT hr;
  172.     HRESULT hrMethod;
  173.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  174.     HRESULT dwError;
  175.     hr=widlUnmarshal (&dwError, pus, ndrtypes.long_t ()); if (FAILED(hr)) return hr;
  176.     LPWSTR ppString_tmp;
  177.     LPWSTR* ppString = &ppString_tmp;
  178.     hrMethod = pitf->GetErrorString (dwError, ppString);
  179.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  180.     hr=widlMarshal (&ppString, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  181.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  182.     if (FAILED(hr))
  183.         return hr;
  184.     if ((*ppString)) {CoTaskMemFree ((*ppString));};
  185.     return S_OK;
  186.     }
  187. HRESULT STDMETHODCALLTYPE IOPCCommon_SetClientName_vxproxy (IOPCCommon* pThis, LPCWSTR szName)
  188.     {
  189.     RPC_PROXY_MSG msg (IID_IOPCCommon, RpcMode::OBJECT, 7, pThis);
  190.     NDRTYPES ndrtypes;
  191.     HRESULT hrMethod;
  192.     HRESULT hr;
  193.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  194.     hr=widlMarshal (&szName, pms, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  195.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  196.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  197.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  198.     if (FAILED(hr))
  199.         return hr;
  200.     return hrMethod;
  201.     }
  202. HRESULT STDMETHODCALLTYPE IOPCCommon_SetClientName_vxstub (IOPCCommon* pitf, RPC_STUB_MSG& msg)
  203.     {
  204.     NDRTYPES ndrtypes;
  205.     HRESULT hr;
  206.     HRESULT hrMethod;
  207.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  208.     LPCWSTR szName;
  209.     hr=widlUnmarshal (&szName, pus, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  210.     hrMethod = pitf->SetClientName (szName);
  211.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  212.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  213.     if (FAILED(hr))
  214.         return hr;
  215.     return S_OK;
  216.     }
  217. COM_VTABLE(IOPCCommon) IOPCCommon_vxproxy_vtbl = {
  218.     COM_VTBL_HEADER
  219.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  220.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  221.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  222.     COM_VTBL_METHOD(&IOPCCommon_SetLocaleID_vxproxy),
  223.     COM_VTBL_METHOD(&IOPCCommon_GetLocaleID_vxproxy),
  224.     COM_VTBL_METHOD(&IOPCCommon_QueryAvailableLocaleIDs_vxproxy),
  225.     COM_VTBL_METHOD(&IOPCCommon_GetErrorString_vxproxy),
  226.     COM_VTBL_METHOD(&IOPCCommon_SetClientName_vxproxy),
  227.     };
  228. const PFN_ORPC_STUB stub_functbl_IOPCCommon [] =
  229.     {
  230.     0,0,0,
  231.     (PFN_ORPC_STUB) IOPCCommon_SetLocaleID_vxstub,
  232.     (PFN_ORPC_STUB) IOPCCommon_GetLocaleID_vxstub,
  233.     (PFN_ORPC_STUB) IOPCCommon_QueryAvailableLocaleIDs_vxstub,
  234.     (PFN_ORPC_STUB) IOPCCommon_GetErrorString_vxstub,
  235.     (PFN_ORPC_STUB) IOPCCommon_SetClientName_vxstub,
  236.     };
  237. EXTERN_C const VXDCOM_STUB_DISPTBL IOPCCommon_vxstub_disptbl =
  238.     {
  239.     8,
  240.     stub_functbl_IOPCCommon
  241.     };
  242. VXDCOM_PS_AUTOREGISTER(IOPCCommon);
  243. HRESULT STDMETHODCALLTYPE IOPCServerList_EnumClassesOfCategories_vxproxy (IOPCServerList* pThis, ULONG cImplemented, CATID* rgcatidImpl, ULONG cRequired, CATID* rgcatidReq, IEnumGUID** ppenumClsid)
  244.     {
  245.     RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 3, pThis);
  246.     NDRTYPES ndrtypes;
  247.     HRESULT hrMethod;
  248.     HRESULT hr;
  249.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  250.     hr=widlMarshal (&cImplemented, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  251.     hr=widlMarshal (&rgcatidImpl, pms, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID), cImplemented))); if (FAILED(hr)) return hr;
  252.     hr=widlMarshal (&cRequired, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  253.     hr=widlMarshal (&rgcatidReq, pms, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID), cRequired))); if (FAILED(hr)) return hr;
  254.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  255.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  256.     hr=widlUnmarshal (&ppenumClsid, pus, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr;
  257.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  258.     if (FAILED(hr))
  259.         return hr;
  260.     return hrMethod;
  261.     }
  262. HRESULT STDMETHODCALLTYPE IOPCServerList_EnumClassesOfCategories_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg)
  263.     {
  264.     NDRTYPES ndrtypes;
  265.     HRESULT hr;
  266.     HRESULT hrMethod;
  267.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  268.     ULONG cImplemented;
  269.     hr=widlUnmarshal (&cImplemented, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  270.     CATID* rgcatidImpl;
  271.     hr=widlUnmarshal (&rgcatidImpl, pus, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID)))); if (FAILED(hr)) return hr;
  272.     ULONG cRequired;
  273.     hr=widlUnmarshal (&cRequired, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  274.     CATID* rgcatidReq;
  275.     hr=widlUnmarshal (&rgcatidReq, pus, ndrtypes.refptr_t(ndrtypes.carray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(CATID)))); if (FAILED(hr)) return hr;
  276.     IEnumGUID* ppenumClsid_tmp = 0;
  277.     IEnumGUID** ppenumClsid = &ppenumClsid_tmp;
  278.     hrMethod = pitf->EnumClassesOfCategories (cImplemented, rgcatidImpl, cRequired, rgcatidReq, ppenumClsid);
  279.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  280.     hr=widlMarshal (&ppenumClsid, pms, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr;
  281.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  282.     if (FAILED(hr))
  283.         return hr;
  284.     if ((*ppenumClsid)) {((*ppenumClsid))->Release ();};
  285.     return S_OK;
  286.     }
  287. HRESULT STDMETHODCALLTYPE IOPCServerList_GetClassDetails_vxproxy (IOPCServerList* pThis, REFCLSID clsid, LPOLESTR* ppszProgID, LPOLESTR* ppszUserType)
  288.     {
  289.     RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 4, pThis);
  290.     NDRTYPES ndrtypes;
  291.     HRESULT hrMethod;
  292.     HRESULT hr;
  293.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  294.     hr=widlMarshal (&clsid, pms, StructDesc__GUID (ndrtypes)); if (FAILED(hr)) return hr;
  295.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  296.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  297.     hr=widlUnmarshal (&ppszProgID, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  298.     hr=widlUnmarshal (&ppszUserType, pus, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  299.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  300.     if (FAILED(hr))
  301.         return hr;
  302.     return hrMethod;
  303.     }
  304. HRESULT STDMETHODCALLTYPE IOPCServerList_GetClassDetails_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg)
  305.     {
  306.     NDRTYPES ndrtypes;
  307.     HRESULT hr;
  308.     HRESULT hrMethod;
  309.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  310.     CLSID clsid;
  311.     hr=widlUnmarshal (&clsid, pus, StructDesc__GUID (ndrtypes)); if (FAILED(hr)) return hr;
  312.     LPOLESTR ppszProgID_tmp;
  313.     LPOLESTR* ppszProgID = &ppszProgID_tmp;
  314.     LPOLESTR ppszUserType_tmp;
  315.     LPOLESTR* ppszUserType = &ppszUserType_tmp;
  316.     hrMethod = pitf->GetClassDetails (clsid, ppszProgID, ppszUserType);
  317.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  318.     hr=widlMarshal (&ppszProgID, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  319.     hr=widlMarshal (&ppszUserType, pms, ndrtypes.refptr_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()))); if (FAILED(hr)) return hr;
  320.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  321.     if (FAILED(hr))
  322.         return hr;
  323.     if ((*ppszProgID)) {CoTaskMemFree ((*ppszProgID));}if ((*ppszUserType)) {CoTaskMemFree ((*ppszUserType));};
  324.     return S_OK;
  325.     }
  326. HRESULT STDMETHODCALLTYPE IOPCServerList_CLSIDFromProgID_vxproxy (IOPCServerList* pThis, LPCOLESTR szProgId, LPCLSID clsid)
  327.     {
  328.     RPC_PROXY_MSG msg (IID_IOPCServerList, RpcMode::OBJECT, 5, pThis);
  329.     NDRTYPES ndrtypes;
  330.     HRESULT hrMethod;
  331.     HRESULT hr;
  332.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  333.     hr=widlMarshal (&szProgId, pms, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  334.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  335.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  336.     hr=widlUnmarshal (&clsid, pus, ndrtypes.refptr_t(StructDesc__GUID (ndrtypes))); if (FAILED(hr)) return hr;
  337.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  338.     if (FAILED(hr))
  339.         return hr;
  340.     return hrMethod;
  341.     }
  342. HRESULT STDMETHODCALLTYPE IOPCServerList_CLSIDFromProgID_vxstub (IOPCServerList* pitf, RPC_STUB_MSG& msg)
  343.     {
  344.     NDRTYPES ndrtypes;
  345.     HRESULT hr;
  346.     HRESULT hrMethod;
  347.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  348.     LPCOLESTR szProgId;
  349.     hr=widlUnmarshal (&szProgId, pus, ndrtypes.refptr_t(ndrtypes.wstring_t ())); if (FAILED(hr)) return hr;
  350.     CLSID clsid_tmp;
  351.     LPCLSID clsid = &clsid_tmp;
  352.     hrMethod = pitf->CLSIDFromProgID (szProgId, clsid);
  353.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  354.     hr=widlMarshal (&clsid, pms, ndrtypes.refptr_t(StructDesc__GUID (ndrtypes))); if (FAILED(hr)) return hr;
  355.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  356.     if (FAILED(hr))
  357.         return hr;
  358.     return S_OK;
  359.     }
  360. COM_VTABLE(IOPCServerList) IOPCServerList_vxproxy_vtbl = {
  361.     COM_VTBL_HEADER
  362.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  363.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  364.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  365.     COM_VTBL_METHOD(&IOPCServerList_EnumClassesOfCategories_vxproxy),
  366.     COM_VTBL_METHOD(&IOPCServerList_GetClassDetails_vxproxy),
  367.     COM_VTBL_METHOD(&IOPCServerList_CLSIDFromProgID_vxproxy),
  368.     };
  369. const PFN_ORPC_STUB stub_functbl_IOPCServerList [] =
  370.     {
  371.     0,0,0,
  372.     (PFN_ORPC_STUB) IOPCServerList_EnumClassesOfCategories_vxstub,
  373.     (PFN_ORPC_STUB) IOPCServerList_GetClassDetails_vxstub,
  374.     (PFN_ORPC_STUB) IOPCServerList_CLSIDFromProgID_vxstub,
  375.     };
  376. EXTERN_C const VXDCOM_STUB_DISPTBL IOPCServerList_vxstub_disptbl =
  377.     {
  378.     6,
  379.     stub_functbl_IOPCServerList
  380.     };
  381. VXDCOM_PS_AUTOREGISTER(IOPCServerList);