VirtualBox

source: vbox/trunk/include/iprt/win/rpcproxy.h@ 78286

Last change on this file since 78286 was 78032, checked in by vboxsync, 6 years ago

iprt/win: Added wrapper for rpcproxy.h that helps making it usable from C++ code. bugref:9425

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1/** @file
2 * Safe way to include rpcproxy.h (not C++ clean).
3 */
4
5/*
6 * Copyright (C) 2016-2019 Oracle Corporation
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * The contents of this file may alternatively be used under the terms
17 * of the Common Development and Distribution License Version 1.0
18 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19 * VirtualBox OSE distribution, in which case the provisions of the
20 * CDDL are applicable instead of those of the GPL.
21 *
22 * You may elect to license modified versions of this file under the
23 * terms and conditions of either the GPL or the CDDL or both.
24 */
25
26#ifndef IPRT_INCLUDED_win_rpcproxy_h
27#define IPRT_INCLUDED_win_rpcproxy_h
28#ifndef RT_WITHOUT_PRAGMA_ONCE
29# pragma once
30#endif
31
32#include <objbase.h>
33
34#ifdef __cplusplus
35
36typedef struct IRpcStubBufferVtbl
37{
38 BEGIN_INTERFACE
39 HRESULT (STDMETHODCALLTYPE *QueryInterface)(IRpcStubBuffer *, REFIID, void **);
40 ULONG (STDMETHODCALLTYPE *AddRef)(IRpcStubBuffer *);
41 ULONG (STDMETHODCALLTYPE *Release)(IRpcStubBuffer *);
42 HRESULT (STDMETHODCALLTYPE *Connect)(IRpcStubBuffer *, IUnknown *);
43 void (STDMETHODCALLTYPE *Disconnect)(IRpcStubBuffer *);
44 HRESULT (STDMETHODCALLTYPE *Invoke)(IRpcStubBuffer *, RPCOLEMESSAGE *, IRpcChannelBuffer *);
45 IRpcStubBuffer * (STDMETHODCALLTYPE *IsIIDSupported)(IRpcStubBuffer *, REFIID);
46 ULONG (STDMETHODCALLTYPE *CountRefs)(IRpcStubBuffer *);
47 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)(IRpcStubBuffer *, void **);
48 void (STDMETHODCALLTYPE *DebugServerRelease)(IRpcStubBuffer *, void *);
49} IRpcStubBufferVtbl;
50
51typedef struct IPSFactoryBufferVtbl
52{
53 HRESULT (STDMETHODCALLTYPE *QueryInterface)(IPSFactoryBuffer *, REFIID, void **);
54 ULONG (STDMETHODCALLTYPE *AddRef)(IPSFactoryBuffer *);
55 ULONG (STDMETHODCALLTYPE *Release)(IPSFactoryBuffer *);
56 HRESULT (STDMETHODCALLTYPE *CreateProxy)(IPSFactoryBuffer *, IUnknown *, REFIID riid, IRpcProxyBuffer **, void **);
57 HRESULT (STDMETHODCALLTYPE *CreateStub)(IPSFactoryBuffer *, REFIID, IUnknown *, IRpcStubBuffer **);
58} IPSFactoryBufferVtbl;
59
60#endif /* __cplusplus */
61
62#include <rpcproxy.h>
63
64#endif /* !IPRT_INCLUDED_win_rpcproxy_h */
65
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette