17#ifndef PHP_COM_DOTNET_INTERNAL_H
18#define PHP_COM_DOTNET_INTERNAL_H
51static inline bool php_com_is_valid_object(
zval *
zv)
59#define CDNO_FETCH(zv) (php_com_dotnet_object*)Z_OBJ_P(zv)
60#define CDNO_FETCH_VERIFY(obj, zv) do { \
61 if (!php_com_is_valid_object(zv)) { \
62 php_com_throw_exception(E_UNEXPECTED, "expected a variant object"); \
65 obj = (php_com_dotnet_object*)Z_OBJ_P(zv); \
86 size_t string_len,
int codepage);
95 WORD flags, DISPPARAMS *disp_params, VARIANT *
v,
bool silent,
bool allow_noarg);
zend_class_entry * php_com_exception_class_entry
zend_class_entry * php_com_variant_class_entry
zend_class_entry * php_com_saproxy_class_entry
zend_object_handlers php_com_object_handlers
zend_object_handlers php_com_saproxy_handlers
#define PHP_MSHUTDOWN_FUNCTION
#define PHP_MINIT_FUNCTION
#define PHP_COM_DOTNET_API
ITypeLib * php_com_cache_typelib(ITypeLib *TL, char *cache_key, zend_long cache_key_len)
zend_result php_com_do_invoke(php_com_dotnet_object *obj, zend_string *name, WORD flags, VARIANT *v, int nargs, zval *args, bool allow_noarg)
PHP_COM_DOTNET_API zend_string * php_com_olestring_to_string(OLECHAR *olestring, int codepage)
zend_result php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid, WORD flags, VARIANT *v, int nargs, zval *args, bool silent, bool allow_noarg)
PHP_COM_DOTNET_API zend_result php_com_zval_from_variant(zval *z, VARIANT *v, int codepage)
ITypeInfo * php_com_locate_typeinfo(zend_string *type_lib_name, php_com_dotnet_object *obj, zend_string *dispatch_name, bool sink)
HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, zend_string *name, DISPID *dispid)
zend_object_iterator * php_com_iter_get(zend_class_entry *ce, zval *object, int by_ref)
zend_string * php_com_bstr_to_string(BSTR bstr, int codepage)
PHP_COM_DOTNET_API IDispatch * php_com_wrapper_export(zval *val)
void php_com_persist_minit(INIT_FUNC_ARGS)
HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member, WORD flags, DISPPARAMS *disp_params, VARIANT *v, bool silent, bool allow_noarg)
PHP_COM_DOTNET_API bool php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1)
void php_com_object_enable_event_sink(php_com_dotnet_object *obj, bool enable)
PHP_COM_DOTNET_API IDispatch * php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name)
PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, int codepage)
PHP_COM_DOTNET_API ITypeLib * php_com_load_typelib_via_cache(const char *search_string, int codepage)
void php_com_dotnet_rshutdown(void)
PHP_COM_DOTNET_API OLECHAR * php_com_string_to_olestring(const char *string, size_t string_len, int codepage)
PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, int codepage)
BSTR php_com_string_to_bstr(zend_string *string, int codepage)
zend_object_iterator * php_com_saproxy_iter_get(zend_class_entry *ce, zval *object, int by_ref)
PHP_COM_DOTNET_API zend_result php_com_copy_variant(VARIANT *dst, VARIANT *src)
void php_com_dotnet_mshutdown(void)
zend_object * php_com_object_new(zend_class_entry *ce)
PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage)
void php_com_throw_exception(HRESULT code, char *message)
bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool printdef, GUID *guid, int codepage)
void php_com_typelibrary_dtor(zval *pDest)
struct _php_com_dotnet_object php_com_dotnet_object
PHP_COM_DOTNET_API void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage)
void php_com_saproxy_create(zend_object *com_object, zval *proxy_out, zval *index)
void php_com_object_free_storage(zend_object *object)
zend_object * php_com_object_clone(zend_object *object)
zend_result php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function *f, WORD flags, VARIANT *v, int nargs, zval *args)
PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp, int codepage)
PHP_COM_DOTNET_API ITypeLib * php_com_load_typelib(char *search_string, int codepage)
HashTable * id_of_name_cache
IDispatch * sink_dispatch
struct _zend_internal_function zend_internal_function
struct _zend_object_iterator zend_object_iterator
struct _zend_string zend_string
struct _zend_class_entry zend_class_entry
struct _zend_object zend_object
#define zend_string_equals_literal(str, literal)
struct _zend_array HashTable
#define Z_OBJCE_P(zval_p)
ZEND_RESULT_CODE zend_result
struct _zend_object_handlers zend_object_handlers