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

VxWorks

开发平台:

C/C++

  1. /* comCoreTypes_ps.cpp generated by WIDL Version 2.2.1 on 17-Dec-01 at 10:46:40 AM */
  2. #define __WIDL_PROXY_STUB 0x0200
  3. #include "dcomProxy.h"
  4. #include "comCoreTypes.h"
  5. #include <string.h>
  6. extern "C" int include_comCoreTypes () {return 0;}
  7. NdrTypeDesc StructDesc__tagCY (NDRTYPES& ndrtypes)
  8.     {
  9.     NdrMemberInfo m [] =
  10.         {
  11.         NDR_MEMBER(_tagCY, int64, ndrtypes.hyper_t ()),
  12.         };
  13.     return ndrtypes.struct_t (1, m);
  14.     }
  15. NdrTypeDesc StructDesc__FILETIME (NDRTYPES& ndrtypes)
  16.     {
  17.     NdrMemberInfo m [] =
  18.         {
  19.         NDR_MEMBER(_FILETIME, dwLowDateTime, ndrtypes.ulong_t ()),
  20.         NDR_MEMBER(_FILETIME, dwHighDateTime, ndrtypes.ulong_t ()),
  21.         };
  22.     return ndrtypes.struct_t (2, m);
  23.     }
  24. NdrTypeDesc StructDesc__SYSTEMTIME (NDRTYPES& ndrtypes)
  25.     {
  26.     NdrMemberInfo m [] =
  27.         {
  28.         NDR_MEMBER(_SYSTEMTIME, wYear, ndrtypes.short_t ()),
  29.         NDR_MEMBER(_SYSTEMTIME, wMonth, ndrtypes.short_t ()),
  30.         NDR_MEMBER(_SYSTEMTIME, wDayOfWeek, ndrtypes.short_t ()),
  31.         NDR_MEMBER(_SYSTEMTIME, wDay, ndrtypes.short_t ()),
  32.         NDR_MEMBER(_SYSTEMTIME, wHour, ndrtypes.short_t ()),
  33.         NDR_MEMBER(_SYSTEMTIME, wMinute, ndrtypes.short_t ()),
  34.         NDR_MEMBER(_SYSTEMTIME, wSecond, ndrtypes.short_t ()),
  35.         NDR_MEMBER(_SYSTEMTIME, wMilliseconds, ndrtypes.short_t ()),
  36.         };
  37.     return ndrtypes.struct_t (8, m);
  38.     }
  39. NdrTypeDesc StructDesc__SECURITY_ATTRIBUTES (NDRTYPES& ndrtypes)
  40.     {
  41.     NdrMemberInfo m [] =
  42.         {
  43.         NDR_MEMBER(_SECURITY_ATTRIBUTES, nLength, ndrtypes.ulong_t ()),
  44.         NDR_MEMBER(_SECURITY_ATTRIBUTES, lpSecurityDescriptor, ndrtypes.pointer_t(ndrtypes.byte_t ())),
  45.         NDR_MEMBER(_SECURITY_ATTRIBUTES, bInheritHandle, ndrtypes.int_t ()),
  46.         };
  47.     return ndrtypes.struct_t (3, m);
  48.     }
  49. NdrTypeDesc StructDesc__ACL (NDRTYPES& ndrtypes)
  50.     {
  51.     NdrMemberInfo m [] =
  52.         {
  53.         NDR_MEMBER(_ACL, AclRevision, ndrtypes.uchar_t ()),
  54.         NDR_MEMBER(_ACL, Sbz1, ndrtypes.uchar_t ()),
  55.         NDR_MEMBER(_ACL, AclSize, ndrtypes.ushort_t ()),
  56.         NDR_MEMBER(_ACL, AceCount, ndrtypes.ushort_t ()),
  57.         NDR_MEMBER(_ACL, Sbz2, ndrtypes.ushort_t ()),
  58.         };
  59.     return ndrtypes.struct_t (5, m);
  60.     }
  61. NdrTypeDesc StructDesc__ACL(NDRTYPES&);
  62. NdrTypeDesc StructDesc__ACL(NDRTYPES&);
  63. NdrTypeDesc StructDesc__SECURITY_DESCRIPTOR (NDRTYPES& ndrtypes)
  64.     {
  65.     NdrMemberInfo m [] =
  66.         {
  67.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Revision, ndrtypes.uchar_t ()),
  68.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Sbz1, ndrtypes.uchar_t ()),
  69.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Control, ndrtypes.ushort_t ()),
  70.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Owner, ndrtypes.pointer_t(ndrtypes.byte_t ())),
  71.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Group, ndrtypes.pointer_t(ndrtypes.byte_t ())),
  72.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Sacl, ndrtypes.pointer_t(StructDesc__ACL (ndrtypes))),
  73.         NDR_MEMBER(_SECURITY_DESCRIPTOR, Dacl, ndrtypes.pointer_t(StructDesc__ACL (ndrtypes))),
  74.         };
  75.     return ndrtypes.struct_t (7, m);
  76.     }
  77. NdrTypeDesc StructDesc__COAUTHIDENTITY (NDRTYPES& ndrtypes)
  78.     {
  79.     NdrMemberInfo m [] =
  80.         {
  81.         NDR_MEMBER(_COAUTHIDENTITY, User, ndrtypes.pointer_t(ndrtypes.wstring_t ())),
  82.         NDR_MEMBER(_COAUTHIDENTITY, UserLength, ndrtypes.ulong_t ()),
  83.         NDR_MEMBER(_COAUTHIDENTITY, Domain, ndrtypes.pointer_t(ndrtypes.wstring_t ())),
  84.         NDR_MEMBER(_COAUTHIDENTITY, DomainLength, ndrtypes.ulong_t ()),
  85.         NDR_MEMBER(_COAUTHIDENTITY, Password, ndrtypes.pointer_t(ndrtypes.wstring_t ())),
  86.         NDR_MEMBER(_COAUTHIDENTITY, PasswordLength, ndrtypes.ulong_t ()),
  87.         NDR_MEMBER(_COAUTHIDENTITY, Flags, ndrtypes.ulong_t ()),
  88.         };
  89.     return ndrtypes.struct_t (7, m);
  90.     }
  91. NdrTypeDesc StructDesc__COAUTHIDENTITY(NDRTYPES&);
  92. NdrTypeDesc StructDesc__COAUTHINFO (NDRTYPES& ndrtypes)
  93.     {
  94.     NdrMemberInfo m [] =
  95.         {
  96.         NDR_MEMBER(_COAUTHINFO, dwAuthnSvc, ndrtypes.ulong_t ()),
  97.         NDR_MEMBER(_COAUTHINFO, dwAuthzSvc, ndrtypes.ulong_t ()),
  98.         NDR_MEMBER(_COAUTHINFO, pwszServerPrincName, ndrtypes.pointer_t(ndrtypes.wstring_t ())),
  99.         NDR_MEMBER(_COAUTHINFO, dwAuthnLevel, ndrtypes.ulong_t ()),
  100.         NDR_MEMBER(_COAUTHINFO, dwImpersonationLevel, ndrtypes.ulong_t ()),
  101.         NDR_MEMBER(_COAUTHINFO, pAuthIdentityData, ndrtypes.pointer_t(StructDesc__COAUTHIDENTITY (ndrtypes))),
  102.         NDR_MEMBER(_COAUTHINFO, dwCapabilities, ndrtypes.ulong_t ()),
  103.         };
  104.     return ndrtypes.struct_t (7, m);
  105.     }
  106. NdrTypeDesc StructDesc__COAUTHINFO(NDRTYPES&);
  107. NdrTypeDesc StructDesc__COSERVERINFO (NDRTYPES& ndrtypes)
  108.     {
  109.     NdrMemberInfo m [] =
  110.         {
  111.         NDR_MEMBER(_COSERVERINFO, dwReserved1, ndrtypes.ulong_t ()),
  112.         NDR_MEMBER(_COSERVERINFO, pwszName, ndrtypes.pointer_t(ndrtypes.wstring_t ())),
  113.         NDR_MEMBER(_COSERVERINFO, pAuthInfo, ndrtypes.pointer_t(StructDesc__COAUTHINFO (ndrtypes))),
  114.         NDR_MEMBER(_COSERVERINFO, dwReserved2, ndrtypes.ulong_t ()),
  115.         };
  116.     return ndrtypes.struct_t (4, m);
  117.     }
  118. NdrTypeDesc StructDesc__GUID (NDRTYPES& ndrtypes)
  119.     {
  120.     NdrMemberInfo m [] =
  121.         {
  122.         NDR_MEMBER(_GUID, Data1, ndrtypes.ulong_t ()),
  123.         NDR_MEMBER(_GUID, Data2, ndrtypes.short_t ()),
  124.         NDR_MEMBER(_GUID, Data3, ndrtypes.short_t ()),
  125.         NDR_MEMBER(_GUID, Data4, ndrtypes.array_t(ndrtypes.uchar_t (), NDR_SIZEOF(BYTE), 8)),
  126.         };
  127.     return ndrtypes.struct_t (4, m);
  128.     }
  129. NdrTypeDesc StructDesc__BYTE_BLOB (NDRTYPES& ndrtypes)
  130.     {
  131.     NdrMemberInfo m [] =
  132.         {
  133.         NDR_MEMBER(_BYTE_BLOB, clSize, ndrtypes.ulong_t ()),
  134.         NDR_MEMBERX(_BYTE_BLOB, abData, ndrtypes.array_t(ndrtypes.byte_t (), NDR_SIZEOF(byte)), 0),
  135.         };
  136.     return ndrtypes.cstruct_t (2, m, 0);
  137.     }
  138. NdrTypeDesc StructDesc__WORD_BLOB (NDRTYPES& ndrtypes)
  139.     {
  140.     NdrMemberInfo m [] =
  141.         {
  142.         NDR_MEMBER(_WORD_BLOB, clSize, ndrtypes.ulong_t ()),
  143.         NDR_MEMBERX(_WORD_BLOB, asData, ndrtypes.array_t(ndrtypes.ushort_t (), NDR_SIZEOF(unsigned short)), 0),
  144.         };
  145.     return ndrtypes.cstruct_t (2, m, 0);
  146.     }
  147. NdrTypeDesc StructDesc__DWORD_BLOB (NDRTYPES& ndrtypes)
  148.     {
  149.     NdrMemberInfo m [] =
  150.         {
  151.         NDR_MEMBER(_DWORD_BLOB, clSize, ndrtypes.ulong_t ()),
  152.         NDR_MEMBERX(_DWORD_BLOB, alData, ndrtypes.array_t(ndrtypes.ulong_t (), NDR_SIZEOF(unsigned long)), 0),
  153.         };
  154.     return ndrtypes.cstruct_t (2, m, 0);
  155.     }
  156. NdrTypeDesc StructDesc__FLAGGED_BYTE_BLOB (NDRTYPES& ndrtypes)
  157.     {
  158.     NdrMemberInfo m [] =
  159.         {
  160.         NDR_MEMBER(_FLAGGED_BYTE_BLOB, fFlags, ndrtypes.ulong_t ()),
  161.         NDR_MEMBER(_FLAGGED_BYTE_BLOB, clSize, ndrtypes.ulong_t ()),
  162.         NDR_MEMBERX(_FLAGGED_BYTE_BLOB, abData, ndrtypes.array_t(ndrtypes.byte_t (), NDR_SIZEOF(byte)), 1),
  163.         };
  164.     return ndrtypes.cstruct_t (3, m, 1);
  165.     }
  166. NdrTypeDesc StructDesc__FLAGGED_WORD_BLOB (NDRTYPES& ndrtypes)
  167.     {
  168.     NdrMemberInfo m [] =
  169.         {
  170.         NDR_MEMBER(_FLAGGED_WORD_BLOB, fFlags, ndrtypes.ulong_t ()),
  171.         NDR_MEMBER(_FLAGGED_WORD_BLOB, clSize, ndrtypes.ulong_t ()),
  172.         NDR_MEMBERX(_FLAGGED_WORD_BLOB, asData, ndrtypes.array_t(ndrtypes.ushort_t (), NDR_SIZEOF(unsigned short)), 1),
  173.         };
  174.     return ndrtypes.cstruct_t (3, m, 1);
  175.     }
  176. NdrTypeDesc StructDesc__BYTE_SIZEDARR (NDRTYPES& ndrtypes)
  177.     {
  178.     NdrMemberInfo m [] =
  179.         {
  180.         NDR_MEMBER(_BYTE_SIZEDARR, clSize, ndrtypes.ulong_t ()),
  181.         NDR_MEMBERX(_BYTE_SIZEDARR, pData, ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.byte_t (), NDR_SIZEOF(byte))), 0),
  182.         };
  183.     return ndrtypes.struct_t (2, m, 0);
  184.     }
  185. NdrTypeDesc StructDesc__SHORT_SIZEDARR (NDRTYPES& ndrtypes)
  186.     {
  187.     NdrMemberInfo m [] =
  188.         {
  189.         NDR_MEMBER(_SHORT_SIZEDARR, clSize, ndrtypes.ulong_t ()),
  190.         NDR_MEMBERX(_SHORT_SIZEDARR, pData, ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.ushort_t (), NDR_SIZEOF(unsigned short))), 0),
  191.         };
  192.     return ndrtypes.struct_t (2, m, 0);
  193.     }
  194. NdrTypeDesc StructDesc__LONG_SIZEDARR (NDRTYPES& ndrtypes)
  195.     {
  196.     NdrMemberInfo m [] =
  197.         {
  198.         NDR_MEMBER(_LONG_SIZEDARR, clSize, ndrtypes.ulong_t ()),
  199.         NDR_MEMBERX(_LONG_SIZEDARR, pData, ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.ulong_t (), NDR_SIZEOF(unsigned long))), 0),
  200.         };
  201.     return ndrtypes.struct_t (2, m, 0);
  202.     }
  203. NdrTypeDesc StructDesc__HYPER_SIZEDARR (NDRTYPES& ndrtypes)
  204.     {
  205.     NdrMemberInfo m [] =
  206.         {
  207.         NDR_MEMBER(_HYPER_SIZEDARR, clSize, ndrtypes.ulong_t ()),
  208.         NDR_MEMBERX(_HYPER_SIZEDARR, pData, ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.hyper_t (), NDR_SIZEOF(hyper))), 0),
  209.         };
  210.     return ndrtypes.struct_t (2, m, 0);
  211.     }
  212. NdrTypeDesc StructDesc_tagDEC (NDRTYPES& ndrtypes)
  213.     {
  214.     NdrMemberInfo m [] =
  215.         {
  216.         NDR_MEMBER(tagDEC, wReserved, ndrtypes.ushort_t ()),
  217.         NDR_MEMBER(tagDEC, scale, ndrtypes.uchar_t ()),
  218.         NDR_MEMBER(tagDEC, sign, ndrtypes.uchar_t ()),
  219.         NDR_MEMBER(tagDEC, Hi32, ndrtypes.ulong_t ()),
  220.         NDR_MEMBER(tagDEC, Lo64, ndrtypes.uhyper_t ()),
  221.         };
  222.     return ndrtypes.struct_t (5, m);
  223.     }
  224. NdrTypeDesc StructDesc_tagBLOB (NDRTYPES& ndrtypes)
  225.     {
  226.     NdrMemberInfo m [] =
  227.         {
  228.         NDR_MEMBER(tagBLOB, cbSize, ndrtypes.ulong_t ()),
  229.         NDR_MEMBERX(tagBLOB, pBlobData, ndrtypes.pointer_t(ndrtypes.carray_t(ndrtypes.uchar_t (), NDR_SIZEOF(BYTE))), 0),
  230.         };
  231.     return ndrtypes.struct_t (2, m, 0);
  232.     }
  233. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  234. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  235. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  236. NdrTypeDesc StructDesc_tagMULTI_QI (NDRTYPES& ndrtypes)
  237.     {
  238.     NdrMemberInfo m [] =
  239.         {
  240.         NDR_MEMBER(tagMULTI_QI, pIID, ndrtypes.pointer_t(StructDesc__GUID (ndrtypes))),
  241.         NDR_MEMBER(tagMULTI_QI, pItf, ndrtypes.interfaceptr_t (IID_IUnknown)),
  242.         NDR_MEMBER(tagMULTI_QI, hr, ndrtypes.long_t ()),
  243.         };
  244.     return ndrtypes.struct_t (3, m);
  245.     }
  246. NdrTypeDesc StructDesc_tagMULTI_QI(NDRTYPES&);
  247. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  248. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  249. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  250. NdrTypeDesc StructDesc_tagMULTI_QI(NDRTYPES&);
  251. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  252. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  253. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  254. NdrTypeDesc StructDesc__GUID(NDRTYPES&);
  255. HRESULT STDMETHODCALLTYPE IEnumGUID_Next_vxproxy (IEnumGUID* pThis, ULONG celt, GUID* rgelt, ULONG* pceltFetched)
  256.     {
  257.     RPC_PROXY_MSG msg (IID_IEnumGUID, RpcMode::OBJECT, 3, pThis);
  258.     NDRTYPES ndrtypes;
  259.     HRESULT hrMethod;
  260.     HRESULT hr;
  261.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  262.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  263.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  264.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  265.     hr=widlUnmarshal (&rgelt, pus, ndrtypes.refptr_t(ndrtypes.cvarray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(GUID)))); if (FAILED(hr)) return hr;
  266.     hr=widlUnmarshal (&pceltFetched, pus, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  267.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  268.     if (FAILED(hr))
  269.         return hr;
  270.     return hrMethod;
  271.     }
  272. HRESULT STDMETHODCALLTYPE IEnumGUID_Next_vxstub (IEnumGUID* pitf, RPC_STUB_MSG& msg)
  273.     {
  274.     NDRTYPES ndrtypes;
  275.     HRESULT hr;
  276.     HRESULT hrMethod;
  277.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  278.     ULONG celt;
  279.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  280.     GUID* rgelt = (GUID*) CoTaskMemAlloc (NDR_SIZEOF(GUID) * celt);
  281.     ULONG pceltFetched_tmp;
  282.     ULONG* pceltFetched = &pceltFetched_tmp;
  283.     hrMethod = pitf->Next (celt, rgelt, pceltFetched);
  284.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  285.     hr=widlMarshal (&rgelt, pms, ndrtypes.refptr_t(ndrtypes.cvarray_t(StructDesc__GUID (ndrtypes), NDR_SIZEOF(GUID), *pceltFetched, celt))); if (FAILED(hr)) return hr;
  286.     hr=widlMarshal (&pceltFetched, pms, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  287.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  288.     if (FAILED(hr))
  289.         return hr;
  290.     CoTaskMemFree (rgelt);
  291.     return S_OK;
  292.     }
  293. HRESULT STDMETHODCALLTYPE IEnumGUID_Skip_vxproxy (IEnumGUID* pThis, ULONG celt)
  294.     {
  295.     RPC_PROXY_MSG msg (IID_IEnumGUID, RpcMode::OBJECT, 4, pThis);
  296.     NDRTYPES ndrtypes;
  297.     HRESULT hrMethod;
  298.     HRESULT hr;
  299.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  300.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  301.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  302.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  303.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  304.     if (FAILED(hr))
  305.         return hr;
  306.     return hrMethod;
  307.     }
  308. HRESULT STDMETHODCALLTYPE IEnumGUID_Skip_vxstub (IEnumGUID* pitf, RPC_STUB_MSG& msg)
  309.     {
  310.     NDRTYPES ndrtypes;
  311.     HRESULT hr;
  312.     HRESULT hrMethod;
  313.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  314.     ULONG celt;
  315.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  316.     hrMethod = pitf->Skip (celt);
  317.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  318.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  319.     if (FAILED(hr))
  320.         return hr;
  321.     return S_OK;
  322.     }
  323. HRESULT STDMETHODCALLTYPE IEnumGUID_Reset_vxproxy (IEnumGUID* pThis)
  324.     {
  325.     RPC_PROXY_MSG msg (IID_IEnumGUID, RpcMode::OBJECT, 5, pThis);
  326.     NDRTYPES ndrtypes;
  327.     HRESULT hrMethod;
  328.     HRESULT hr;
  329.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  330.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  331.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  332.     if (FAILED(hr))
  333.         return hr;
  334.     return hrMethod;
  335.     }
  336. HRESULT STDMETHODCALLTYPE IEnumGUID_Reset_vxstub (IEnumGUID* pitf, RPC_STUB_MSG& msg)
  337.     {
  338.     NDRTYPES ndrtypes;
  339.     HRESULT hr;
  340.     HRESULT hrMethod;
  341.     hrMethod = pitf->Reset ();
  342.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  343.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  344.     if (FAILED(hr))
  345.         return hr;
  346.     return S_OK;
  347.     }
  348. HRESULT STDMETHODCALLTYPE IEnumGUID_Clone_vxproxy (IEnumGUID* pThis, IEnumGUID** ppenum)
  349.     {
  350.     RPC_PROXY_MSG msg (IID_IEnumGUID, RpcMode::OBJECT, 6, pThis);
  351.     NDRTYPES ndrtypes;
  352.     HRESULT hrMethod;
  353.     HRESULT hr;
  354.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  355.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  356.     hr=widlUnmarshal (&ppenum, pus, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr;
  357.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  358.     if (FAILED(hr))
  359.         return hr;
  360.     return hrMethod;
  361.     }
  362. HRESULT STDMETHODCALLTYPE IEnumGUID_Clone_vxstub (IEnumGUID* pitf, RPC_STUB_MSG& msg)
  363.     {
  364.     NDRTYPES ndrtypes;
  365.     HRESULT hr;
  366.     HRESULT hrMethod;
  367.     IEnumGUID* ppenum_tmp = 0;
  368.     IEnumGUID** ppenum = &ppenum_tmp;
  369.     hrMethod = pitf->Clone (ppenum);
  370.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  371.     hr=widlMarshal (&ppenum, pms, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumGUID))); if (FAILED(hr)) return hr;
  372.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  373.     if (FAILED(hr))
  374.         return hr;
  375.     if ((*ppenum)) {((*ppenum))->Release ();};
  376.     return S_OK;
  377.     }
  378. COM_VTABLE(IEnumGUID) IEnumGUID_vxproxy_vtbl = {
  379.     COM_VTBL_HEADER
  380.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  381.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  382.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  383.     COM_VTBL_METHOD(&IEnumGUID_Next_vxproxy),
  384.     COM_VTBL_METHOD(&IEnumGUID_Skip_vxproxy),
  385.     COM_VTBL_METHOD(&IEnumGUID_Reset_vxproxy),
  386.     COM_VTBL_METHOD(&IEnumGUID_Clone_vxproxy),
  387.     };
  388. const PFN_ORPC_STUB stub_functbl_IEnumGUID [] =
  389.     {
  390.     0,0,0,
  391.     (PFN_ORPC_STUB) IEnumGUID_Next_vxstub,
  392.     (PFN_ORPC_STUB) IEnumGUID_Skip_vxstub,
  393.     (PFN_ORPC_STUB) IEnumGUID_Reset_vxstub,
  394.     (PFN_ORPC_STUB) IEnumGUID_Clone_vxstub,
  395.     };
  396. EXTERN_C const VXDCOM_STUB_DISPTBL IEnumGUID_vxstub_disptbl =
  397.     {
  398.     7,
  399.     stub_functbl_IEnumGUID
  400.     };
  401. VXDCOM_PS_AUTOREGISTER(IEnumGUID);
  402. HRESULT STDMETHODCALLTYPE IEnumString_Next_vxproxy (IEnumString* pThis, ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched)
  403.     {
  404.     RPC_PROXY_MSG msg (IID_IEnumString, RpcMode::OBJECT, 3, pThis);
  405.     NDRTYPES ndrtypes;
  406.     HRESULT hrMethod;
  407.     HRESULT hr;
  408.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  409.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  410.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  411.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  412.     hr=widlUnmarshal (&rgelt, pus, ndrtypes.refptr_t(ndrtypes.cvarray_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()), NDR_SIZEOF(LPOLESTR)))); if (FAILED(hr)) return hr;
  413.     hr=widlUnmarshal (&pceltFetched, pus, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  414.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  415.     if (FAILED(hr))
  416.         return hr;
  417.     return hrMethod;
  418.     }
  419. HRESULT STDMETHODCALLTYPE IEnumString_Next_vxstub (IEnumString* pitf, RPC_STUB_MSG& msg)
  420.     {
  421.     NDRTYPES ndrtypes;
  422.     HRESULT hr;
  423.     HRESULT hrMethod;
  424.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  425.     ULONG celt;
  426.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  427.     LPOLESTR* rgelt = (LPOLESTR*) CoTaskMemAlloc (NDR_SIZEOF(LPOLESTR) * celt);
  428.     ULONG pceltFetched_tmp;
  429.     ULONG* pceltFetched = &pceltFetched_tmp;
  430.     hrMethod = pitf->Next (celt, rgelt, pceltFetched);
  431.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  432.     hr=widlMarshal (&rgelt, pms, ndrtypes.refptr_t(ndrtypes.cvarray_t(ndrtypes.pointer_t(ndrtypes.wstring_t ()), NDR_SIZEOF(LPOLESTR), *pceltFetched, celt))); if (FAILED(hr)) return hr;
  433.     hr=widlMarshal (&pceltFetched, pms, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  434.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  435.     if (FAILED(hr))
  436.         return hr;
  437.     {for (DWORD __ix=0; __ix < *pceltFetched; ++__ix) {if ((rgelt[__ix])) {CoTaskMemFree ((rgelt[__ix]));}}};
  438.     CoTaskMemFree (rgelt);
  439.     return S_OK;
  440.     }
  441. HRESULT STDMETHODCALLTYPE IEnumString_Skip_vxproxy (IEnumString* pThis, ULONG celt)
  442.     {
  443.     RPC_PROXY_MSG msg (IID_IEnumString, RpcMode::OBJECT, 4, pThis);
  444.     NDRTYPES ndrtypes;
  445.     HRESULT hrMethod;
  446.     HRESULT hr;
  447.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  448.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  449.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  450.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  451.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  452.     if (FAILED(hr))
  453.         return hr;
  454.     return hrMethod;
  455.     }
  456. HRESULT STDMETHODCALLTYPE IEnumString_Skip_vxstub (IEnumString* pitf, RPC_STUB_MSG& msg)
  457.     {
  458.     NDRTYPES ndrtypes;
  459.     HRESULT hr;
  460.     HRESULT hrMethod;
  461.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  462.     ULONG celt;
  463.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  464.     hrMethod = pitf->Skip (celt);
  465.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  466.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  467.     if (FAILED(hr))
  468.         return hr;
  469.     return S_OK;
  470.     }
  471. HRESULT STDMETHODCALLTYPE IEnumString_Reset_vxproxy (IEnumString* pThis)
  472.     {
  473.     RPC_PROXY_MSG msg (IID_IEnumString, RpcMode::OBJECT, 5, pThis);
  474.     NDRTYPES ndrtypes;
  475.     HRESULT hrMethod;
  476.     HRESULT hr;
  477.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  478.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  479.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  480.     if (FAILED(hr))
  481.         return hr;
  482.     return hrMethod;
  483.     }
  484. HRESULT STDMETHODCALLTYPE IEnumString_Reset_vxstub (IEnumString* pitf, RPC_STUB_MSG& msg)
  485.     {
  486.     NDRTYPES ndrtypes;
  487.     HRESULT hr;
  488.     HRESULT hrMethod;
  489.     hrMethod = pitf->Reset ();
  490.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  491.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  492.     if (FAILED(hr))
  493.         return hr;
  494.     return S_OK;
  495.     }
  496. HRESULT STDMETHODCALLTYPE IEnumString_Clone_vxproxy (IEnumString* pThis, IEnumString** ppenum)
  497.     {
  498.     RPC_PROXY_MSG msg (IID_IEnumString, RpcMode::OBJECT, 6, pThis);
  499.     NDRTYPES ndrtypes;
  500.     HRESULT hrMethod;
  501.     HRESULT hr;
  502.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  503.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  504.     hr=widlUnmarshal (&ppenum, pus, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumString))); if (FAILED(hr)) return hr;
  505.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  506.     if (FAILED(hr))
  507.         return hr;
  508.     return hrMethod;
  509.     }
  510. HRESULT STDMETHODCALLTYPE IEnumString_Clone_vxstub (IEnumString* pitf, RPC_STUB_MSG& msg)
  511.     {
  512.     NDRTYPES ndrtypes;
  513.     HRESULT hr;
  514.     HRESULT hrMethod;
  515.     IEnumString* ppenum_tmp = 0;
  516.     IEnumString** ppenum = &ppenum_tmp;
  517.     hrMethod = pitf->Clone (ppenum);
  518.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  519.     hr=widlMarshal (&ppenum, pms, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumString))); if (FAILED(hr)) return hr;
  520.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  521.     if (FAILED(hr))
  522.         return hr;
  523.     if ((*ppenum)) {((*ppenum))->Release ();};
  524.     return S_OK;
  525.     }
  526. COM_VTABLE(IEnumString) IEnumString_vxproxy_vtbl = {
  527.     COM_VTBL_HEADER
  528.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  529.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  530.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  531.     COM_VTBL_METHOD(&IEnumString_Next_vxproxy),
  532.     COM_VTBL_METHOD(&IEnumString_Skip_vxproxy),
  533.     COM_VTBL_METHOD(&IEnumString_Reset_vxproxy),
  534.     COM_VTBL_METHOD(&IEnumString_Clone_vxproxy),
  535.     };
  536. const PFN_ORPC_STUB stub_functbl_IEnumString [] =
  537.     {
  538.     0,0,0,
  539.     (PFN_ORPC_STUB) IEnumString_Next_vxstub,
  540.     (PFN_ORPC_STUB) IEnumString_Skip_vxstub,
  541.     (PFN_ORPC_STUB) IEnumString_Reset_vxstub,
  542.     (PFN_ORPC_STUB) IEnumString_Clone_vxstub,
  543.     };
  544. EXTERN_C const VXDCOM_STUB_DISPTBL IEnumString_vxstub_disptbl =
  545.     {
  546.     7,
  547.     stub_functbl_IEnumString
  548.     };
  549. VXDCOM_PS_AUTOREGISTER(IEnumString);
  550. HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_vxproxy (IEnumUnknown* pThis, ULONG celt, IUnknown** rgelt, ULONG* pceltFetched)
  551.     {
  552.     RPC_PROXY_MSG msg (IID_IEnumUnknown, RpcMode::OBJECT, 3, pThis);
  553.     NDRTYPES ndrtypes;
  554.     HRESULT hrMethod;
  555.     HRESULT hr;
  556.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  557.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  558.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  559.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  560.     hr=widlUnmarshal (&rgelt, pus, ndrtypes.refptr_t(ndrtypes.cvarray_t(ndrtypes.interfaceptr_t (IID_IUnknown), NDR_SIZEOF(IUnknown*)))); if (FAILED(hr)) return hr;
  561.     hr=widlUnmarshal (&pceltFetched, pus, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  562.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  563.     if (FAILED(hr))
  564.         return hr;
  565.     return hrMethod;
  566.     }
  567. HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_vxstub (IEnumUnknown* pitf, RPC_STUB_MSG& msg)
  568.     {
  569.     NDRTYPES ndrtypes;
  570.     HRESULT hr;
  571.     HRESULT hrMethod;
  572.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  573.     ULONG celt;
  574.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  575.     IUnknown** rgelt = (IUnknown**) CoTaskMemAlloc (NDR_SIZEOF(IUnknown*) * celt);
  576.     ULONG pceltFetched_tmp;
  577.     ULONG* pceltFetched = &pceltFetched_tmp;
  578.     hrMethod = pitf->Next (celt, rgelt, pceltFetched);
  579.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  580.     hr=widlMarshal (&rgelt, pms, ndrtypes.refptr_t(ndrtypes.cvarray_t(ndrtypes.interfaceptr_t (IID_IUnknown), NDR_SIZEOF(IUnknown*), *pceltFetched, celt))); if (FAILED(hr)) return hr;
  581.     hr=widlMarshal (&pceltFetched, pms, ndrtypes.refptr_t(ndrtypes.ulong_t ())); if (FAILED(hr)) return hr;
  582.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  583.     if (FAILED(hr))
  584.         return hr;
  585.     {for (DWORD __ix=0; __ix < *pceltFetched; ++__ix) {if ((rgelt[__ix])) {((rgelt[__ix]))->Release ();}}};
  586.     CoTaskMemFree (rgelt);
  587.     return S_OK;
  588.     }
  589. HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_vxproxy (IEnumUnknown* pThis, ULONG celt)
  590.     {
  591.     RPC_PROXY_MSG msg (IID_IEnumUnknown, RpcMode::OBJECT, 4, pThis);
  592.     NDRTYPES ndrtypes;
  593.     HRESULT hrMethod;
  594.     HRESULT hr;
  595.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  596.     hr=widlMarshal (&celt, pms, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  597.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  598.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  599.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  600.     if (FAILED(hr))
  601.         return hr;
  602.     return hrMethod;
  603.     }
  604. HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_vxstub (IEnumUnknown* pitf, RPC_STUB_MSG& msg)
  605.     {
  606.     NDRTYPES ndrtypes;
  607.     HRESULT hr;
  608.     HRESULT hrMethod;
  609.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  610.     ULONG celt;
  611.     hr=widlUnmarshal (&celt, pus, ndrtypes.ulong_t ()); if (FAILED(hr)) return hr;
  612.     hrMethod = pitf->Skip (celt);
  613.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  614.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  615.     if (FAILED(hr))
  616.         return hr;
  617.     return S_OK;
  618.     }
  619. HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_vxproxy (IEnumUnknown* pThis)
  620.     {
  621.     RPC_PROXY_MSG msg (IID_IEnumUnknown, RpcMode::OBJECT, 5, pThis);
  622.     NDRTYPES ndrtypes;
  623.     HRESULT hrMethod;
  624.     HRESULT hr;
  625.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  626.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  627.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  628.     if (FAILED(hr))
  629.         return hr;
  630.     return hrMethod;
  631.     }
  632. HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_vxstub (IEnumUnknown* pitf, RPC_STUB_MSG& msg)
  633.     {
  634.     NDRTYPES ndrtypes;
  635.     HRESULT hr;
  636.     HRESULT hrMethod;
  637.     hrMethod = pitf->Reset ();
  638.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  639.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  640.     if (FAILED(hr))
  641.         return hr;
  642.     return S_OK;
  643.     }
  644. HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_vxproxy (IEnumUnknown* pThis, IEnumUnknown** ppenum)
  645.     {
  646.     RPC_PROXY_MSG msg (IID_IEnumUnknown, RpcMode::OBJECT, 6, pThis);
  647.     NDRTYPES ndrtypes;
  648.     HRESULT hrMethod;
  649.     HRESULT hr;
  650.     hr = msg.SendReceive (); if (FAILED (hr)) return hr;
  651.     NdrUnmarshalStream* pus = msg.unmarshalStreamGet ();
  652.     hr=widlUnmarshal (&ppenum, pus, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumUnknown))); if (FAILED(hr)) return hr;
  653.     hr = widlUnmarshal (&hrMethod, pus, ndrtypes.hresult_t());
  654.     if (FAILED(hr))
  655.         return hr;
  656.     return hrMethod;
  657.     }
  658. HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_vxstub (IEnumUnknown* pitf, RPC_STUB_MSG& msg)
  659.     {
  660.     NDRTYPES ndrtypes;
  661.     HRESULT hr;
  662.     HRESULT hrMethod;
  663.     IEnumUnknown* ppenum_tmp = 0;
  664.     IEnumUnknown** ppenum = &ppenum_tmp;
  665.     hrMethod = pitf->Clone (ppenum);
  666.     NdrMarshalStream* pms = msg.marshalStreamGet ();
  667.     hr=widlMarshal (&ppenum, pms, ndrtypes.refptr_t(ndrtypes.interfaceptr_t (IID_IEnumUnknown))); if (FAILED(hr)) return hr;
  668.     hr = widlMarshal (&hrMethod, pms, ndrtypes.hresult_t());
  669.     if (FAILED(hr))
  670.         return hr;
  671.     if ((*ppenum)) {((*ppenum))->Release ();};
  672.     return S_OK;
  673.     }
  674. COM_VTABLE(IEnumUnknown) IEnumUnknown_vxproxy_vtbl = {
  675.     COM_VTBL_HEADER
  676.     COM_VTBL_METHOD(&IUnknown_QueryInterface_vxproxy),
  677.     COM_VTBL_METHOD(&IUnknown_AddRef_vxproxy),
  678.     COM_VTBL_METHOD(&IUnknown_Release_vxproxy),
  679.     COM_VTBL_METHOD(&IEnumUnknown_Next_vxproxy),
  680.     COM_VTBL_METHOD(&IEnumUnknown_Skip_vxproxy),
  681.     COM_VTBL_METHOD(&IEnumUnknown_Reset_vxproxy),
  682.     COM_VTBL_METHOD(&IEnumUnknown_Clone_vxproxy),
  683.     };
  684. const PFN_ORPC_STUB stub_functbl_IEnumUnknown [] =
  685.     {
  686.     0,0,0,
  687.     (PFN_ORPC_STUB) IEnumUnknown_Next_vxstub,
  688.     (PFN_ORPC_STUB) IEnumUnknown_Skip_vxstub,
  689.     (PFN_ORPC_STUB) IEnumUnknown_Reset_vxstub,
  690.     (PFN_ORPC_STUB) IEnumUnknown_Clone_vxstub,
  691.     };
  692. EXTERN_C const VXDCOM_STUB_DISPTBL IEnumUnknown_vxstub_disptbl =
  693.     {
  694.     7,
  695.     stub_functbl_IEnumUnknown
  696.     };
  697. VXDCOM_PS_AUTOREGISTER(IEnumUnknown);