summaryrefslogtreecommitdiff
path: root/ext/rpc/com/php_com.h
blob: b37a8eca05dd4debe6b6f55012b2b46c94e3142f (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
35
36
37
38
39
40
41
42
43
44
45
#ifndef PHP_COM_H
#define PHP_COM_H

#if PHP_WIN32

#include "com.h"

BEGIN_EXTERN_C()

extern PHP_MINIT_FUNCTION(COM);
extern PHP_MSHUTDOWN_FUNCTION(COM);

extern PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DISPPARAMS FAR*  pDispParams, VARIANT FAR* pVarResult);
extern PHPAPI HRESULT php_COM_get_ids_of_names(comval *obj, OLECHAR FAR* FAR* rgszNames, DISPID FAR* rgDispId);
extern PHPAPI HRESULT php_COM_release(comval *obj);
extern PHPAPI HRESULT php_COM_addref(comval *obj);
extern PHPAPI HRESULT php_COM_destruct(comval *obj);
extern PHPAPI HRESULT php_COM_set(comval *obj, IDispatch FAR* FAR* pDisp, int cleanup);
extern PHPAPI HRESULT php_COM_clone(comval *obj, comval *clone, int cleanup);

extern int php_COM_get_le_comval();

extern zend_module_entry COM_module_entry;
extern zend_class_entry com_class_entry;

extern pval php_COM_get_property_handler(zend_property_reference *property_reference);
extern int php_COM_set_property_handler(zend_property_reference *property_reference, pval *value);
extern char *php_COM_error_message(HRESULT hr);
extern void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);

#ifdef DEBUG
	extern int resourcecounter;
#endif

END_EXTERN_C()

#define COM_module_ptr &COM_module_entry

#else

#define COM_module_ptr NULL

#endif  /* PHP_WIN32 */

#endif  /* PHP_COM_H */