master
 1/**
 2 * This file is part of the mingw-w64 runtime package.
 3 * No warranty is given; refer to the file DISCLAIMER within this package.
 4 */
 5#ifndef _BEM_H_
 6#define _BEM_H_
 7
 8#include <apiset.h>
 9#include <apisetcconv.h>
10#include <minwindef.h>
11#include <minwinbase.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
18#ifndef __WIDL__
19  typedef struct _CONTRACT_DESCRIPTION CONTRACT_DESCRIPTION;
20  typedef struct _BEM_REFERENCE BEM_REFERENCE;
21  typedef void (CALLBACK *BEM_FREE_INTERFACE_CALLBACK) (void *interfaceInstance);
22
23  HRESULT WINAPI BemCreateReference (REFGUID iid, void *interfaceInstance, BEM_FREE_INTERFACE_CALLBACK freeCallback, BEM_REFERENCE **reference);
24  HRESULT WINAPI BemCreateContractFrom (LPCWSTR dllPath, REFGUID extensionId, const CONTRACT_DESCRIPTION *contractDescription, void *hostContract, void **contract);
25  HRESULT WINAPI BemCopyReference (BEM_REFERENCE *reference, BEM_REFERENCE **copiedReference);
26  void WINAPI BemFreeReference (BEM_REFERENCE *reference);
27  void WINAPI BemFreeContract (void *contract);
28#endif
29#endif
30
31#ifdef __cplusplus
32}
33#endif
34#endif