aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/bemapiset.h
blob: 1bb79195e525e9f7743a879d3250a3ad5af0b564 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER within this package.
 */
#ifndef _BEM_H_
#define _BEM_H_

#include <apiset.h>
#include <apisetcconv.h>
#include <minwindef.h>
#include <minwinbase.h>

#ifdef __cplusplus
extern "C" {
#endif

#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
#ifndef __WIDL__
  typedef struct _CONTRACT_DESCRIPTION CONTRACT_DESCRIPTION;
  typedef struct _BEM_REFERENCE BEM_REFERENCE;
  typedef void (CALLBACK *BEM_FREE_INTERFACE_CALLBACK) (void *interfaceInstance);

  HRESULT WINAPI BemCreateReference (REFGUID iid, void *interfaceInstance, BEM_FREE_INTERFACE_CALLBACK freeCallback, BEM_REFERENCE **reference);
  HRESULT WINAPI BemCreateContractFrom (LPCWSTR dllPath, REFGUID extensionId, const CONTRACT_DESCRIPTION *contractDescription, void *hostContract, void **contract);
  HRESULT WINAPI BemCopyReference (BEM_REFERENCE *reference, BEM_REFERENCE **copiedReference);
  void WINAPI BemFreeReference (BEM_REFERENCE *reference);
  void WINAPI BemFreeContract (void *contract);
#endif
#endif

#ifdef __cplusplus
}
#endif
#endif