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 14 extern "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 35