zeev Tue Feb 20 14:32:28 2001 EDT
Modified files:
/php4/ext/com COM.c
Log:
Fix Win32 build
Index: php4/ext/com/COM.c
diff -u php4/ext/com/COM.c:1.4 php4/ext/com/COM.c:1.5
--- php4/ext/com/COM.c:1.4 Sun Feb 18 08:49:05 2001
+++ php4/ext/com/COM.c Tue Feb 20 14:32:28 2001
@@ -59,13 +59,9 @@
#include <iostream.h>
#include <math.h>
-extern "C" { /* this should be included in the includes itself !! */
-
#include "php.h"
#include "php_ini.h"
-}
-
#include "conversion.h"
#include "unknwn.h"
@@ -125,7 +121,7 @@
LPOLESTR ole_clsid;
char *clsid_str;
- StringFromCLSID(clsid, &ole_clsid);
+ StringFromCLSID(&clsid, &ole_clsid);
clsid_str = php_OLECHAR_to_char(ole_clsid, NULL, 0, codepage);
LocalFree(ole_clsid);
@@ -135,7 +131,8 @@
static void php_idispatch_destructor(zend_rsrc_list_entry *rsrc)
{
IDispatch *i_dispatch = (IDispatch *)rsrc->ptr;
- i_dispatch->Release();
+
+ i_dispatch->lpVtbl->Release(i_dispatch);
}
static PHP_INI_MH(OnTypelibFileChange)
@@ -270,7 +267,7 @@
/* obtain IDispatch */
if (!server_name) {
- hr = CoCreateInstance(clsid, NULL, CLSCTX_SERVER, IID_IDispatch,
(LPVOID *) &i_dispatch);
+ hr = CoCreateInstance(&clsid, NULL, CLSCTX_SERVER, &IID_IDispatch,
+(LPVOID *) &i_dispatch);
} else {
COSERVERINFO server_info;
MULTI_QI pResults;
@@ -283,7 +280,7 @@
pResults.pIID = &IID_IDispatch;
pResults.pItf = NULL;
pResults.hr = S_OK;
- hr=CoCreateInstanceEx(clsid, NULL, CLSCTX_SERVER, &server_info, 1,
&pResults);
+ hr=CoCreateInstanceEx(&clsid, NULL, CLSCTX_SERVER, &server_info, 1,
+&pResults);
if (SUCCEEDED(hr)) {
hr = pResults.hr;
i_dispatch = (IDispatch *) pResults.pItf;
@@ -318,7 +315,7 @@
funcname = php_char_to_OLECHAR(function_name->value.str.val,
function_name->value.str.len, codepage);
- hr = i_dispatch->GetIDsOfNames(IID_NULL, &funcname, 1, LOCALE_SYSTEM_DEFAULT,
&dispid);
+ hr = i_dispatch->lpVtbl->GetIDsOfNames(i_dispatch, &IID_NULL, &funcname, 1,
+LOCALE_SYSTEM_DEFAULT, &dispid);
if (FAILED(hr)) {
error_message = php_COM_error_message(hr);
@@ -340,7 +337,7 @@
dispparams.cArgs = arg_count;
dispparams.cNamedArgs = 0;
- hr = i_dispatch->Invoke(dispid, IID_NULL,
+ hr = i_dispatch->lpVtbl->Invoke(i_dispatch, dispid, &IID_NULL,
LOCALE_SYSTEM_DEFAULT,
DISPATCH_METHOD|DISPATCH_PROPERTYGET,
&dispparams, var_result, NULL,
NULL);
@@ -414,7 +411,7 @@
function_name.type = IS_STRING;
retval = do_COM_invoke(i_dispatch, &function_name, var_result,
&arg_property, 1);
if (cleanup) {
- i_dispatch->Release();
+ i_dispatch->lpVtbl->Release(i_dispatch);
}
return retval;
}
@@ -435,7 +432,7 @@
/* obtain property handler */
propname = php_char_to_OLECHAR(arg_property->value.str.val,
arg_property->value.str.len, codepage);
- hr = i_dispatch->GetIDsOfNames(IID_NULL, &propname, 1, LOCALE_SYSTEM_DEFAULT,
&dispid);
+ hr = i_dispatch->lpVtbl->GetIDsOfNames(i_dispatch, &IID_NULL, &propname, 1,
+LOCALE_SYSTEM_DEFAULT, &dispid);
if (FAILED(hr)) {
error_message = php_COM_error_message(hr);
@@ -443,7 +440,7 @@
LocalFree(error_message);
efree(propname);
if (cleanup) {
- i_dispatch->Release();
+ i_dispatch->lpVtbl->Release(i_dispatch);
}
return FAILURE;
}
@@ -451,7 +448,7 @@
dispparams.cArgs = 0;
dispparams.cNamedArgs = 0;
- hr = i_dispatch->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET, &dispparams, var_result, NULL, 0);
+ hr = i_dispatch->lpVtbl->Invoke(i_dispatch, dispid, &IID_NULL,
+LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYGET, &dispparams, var_result, NULL, 0);
if (FAILED(hr)) {
error_message = php_COM_error_message(hr);
@@ -459,14 +456,14 @@
LocalFree(error_message);
efree(propname);
if (cleanup) {
- i_dispatch->Release();
+ i_dispatch->lpVtbl->Release(i_dispatch);
}
return FAILURE;
}
efree(propname);
if (cleanup) {
- i_dispatch->Release();
+ i_dispatch->lpVtbl->Release(i_dispatch);
}
return SUCCESS;
}
@@ -487,7 +484,7 @@
/* obtain property handler */
propname = php_char_to_OLECHAR(arg_property->value.str.val,
arg_property->value.str.len, codepage);
- hr = i_dispatch->GetIDsOfNames(IID_NULL, &propname, 1, LOCALE_SYSTEM_DEFAULT,
&dispid);
+ hr = i_dispatch->lpVtbl->GetIDsOfNames(i_dispatch, &IID_NULL, &propname, 1,
+LOCALE_SYSTEM_DEFAULT, &dispid);
if (FAILED(hr)) {
error_message = php_COM_error_message(hr);
@@ -504,7 +501,7 @@
dispparams.cArgs = 1;
dispparams.cNamedArgs = 1;
- hr = i_dispatch->Invoke(dispid, IID_NULL,
+ hr = i_dispatch->lpVtbl->Invoke(i_dispatch, dispid, &IID_NULL,
LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYPUT,
&dispparams, NULL, NULL, 0);
if (FAILED(hr)) {
@@ -518,7 +515,7 @@
dispparams.cArgs = 0;
dispparams.cNamedArgs = 0;
- hr = i_dispatch->Invoke(dispid, IID_NULL,
+ hr = i_dispatch->lpVtbl->Invoke(i_dispatch, dispid, &IID_NULL,
LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYGET,
&dispparams,
&var_result, NULL, 0);
@@ -802,13 +799,13 @@
return FAILURE;
}
- interfaces = TypeLib->GetTypeInfoCount();
+ interfaces = TypeLib->lpVtbl->GetTypeInfoCount(TypeLib);
- TypeLib->GetTypeComp(&TypeComp);
+ TypeLib->lpVtbl->GetTypeComp(TypeLib, &TypeComp);
for (i=0; i<interfaces; i++) {
TYPEKIND pTKind;
- TypeLib->GetTypeInfoType(i, &pTKind);
+ TypeLib->lpVtbl->GetTypeInfoType(TypeLib, i, &pTKind);
if (pTKind==TKIND_ENUM) {
ITypeInfo *TypeInfo;
VARDESC *pVarDesc;
@@ -824,15 +821,15 @@
efree(EnumId);
#endif
- TypeLib->GetTypeInfo(i, &TypeInfo);
+ TypeLib->lpVtbl->GetTypeInfo(TypeLib, i, &TypeInfo);
j=0;
- while (TypeInfo->GetVarDesc(j, &pVarDesc)==S_OK) {
+ while (TypeInfo->lpVtbl->GetVarDesc(TypeInfo, j,
+&pVarDesc)==S_OK) {
BSTR bstr_ids;
char *ids;
zend_constant c;
- TypeInfo->GetNames(pVarDesc->memid, &bstr_ids, 1,
&NameCount);
+ TypeInfo->lpVtbl->GetNames(TypeInfo, pVarDesc->memid,
+&bstr_ids, 1, &NameCount);
if (NameCount!=1) {
j++;
continue;
@@ -848,12 +845,12 @@
/*printf("%s -> %ld\n", ids,
pVarDesc->lpvarValue->lVal);*/
j++;
}
- TypeInfo->Release();
+ TypeInfo->lpVtbl->Release(TypeInfo);
}
}
- TypeLib->Release();
+ TypeLib->lpVtbl->Release(TypeLib);
efree(p);
return SUCCESS;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]