removed CoInitialize() and CoUninitialize()

This commit is contained in:
Harald Radi 2001-08-15 10:39:59 +00:00
parent 8300abe367
commit c674638dd0
4 changed files with 16 additions and 22 deletions

View file

@ -380,7 +380,7 @@ static PHP_INI_MH(OnTypelibFileChange)
ITypeLib *pTL; ITypeLib *pTL;
char *typelib_name; char *typelib_name;
char *modifier, *ptr; char *modifier, *ptr;
int mode = CONST_CS | CONST_PERSISTENT; int mode = CONST_CS | CONST_PERSISTENT; /* CONST_PERSISTENT is ok here */
if (typelib_name_buffer[0]==';') { if (typelib_name_buffer[0]==';') {
continue; continue;
@ -448,7 +448,7 @@ PHP_FUNCTION(com_load)
comval *obj; comval *obj;
char *error_message; char *error_message;
char *clsid_str; char *clsid_str;
int mode = 0; /* CONST_PERSISTENT; */ int mode = 0;
ITypeLib *pTL; ITypeLib *pTL;
@ -508,7 +508,7 @@ PHP_FUNCTION(com_load)
IMoniker *pMoniker; IMoniker *pMoniker;
ULONG ulEaten; ULONG ulEaten;
/* TODO: if (server_name) */ /* @todo if (server_name) */
if (!server_name) { if (!server_name) {
if (SUCCEEDED(hr = CreateBindCtx(0, &pBindCtx))) { if (SUCCEEDED(hr = CreateBindCtx(0, &pBindCtx))) {
@ -577,6 +577,7 @@ PHP_FUNCTION(com_load)
if (INI_INT("com.autoregister_typelib")) { if (INI_INT("com.autoregister_typelib")) {
unsigned int idx; unsigned int idx;
/* @todo check if typlib isn't already loaded */
if (C_TYPEINFO_VT(obj)->GetContainingTypeLib(C_TYPEINFO(obj), &pTL, &idx) == S_OK) { if (C_TYPEINFO_VT(obj)->GetContainingTypeLib(C_TYPEINFO(obj), &pTL, &idx) == S_OK) {
php_COM_load_typelib(pTL, mode TSRMLS_CC); php_COM_load_typelib(pTL, mode TSRMLS_CC);
pTL->lpVtbl->Release(pTL); pTL->lpVtbl->Release(pTL);
@ -667,9 +668,10 @@ int do_COM_invoke(comval *obj, pval *function_name, VARIANT *var_result, pval **
return FAILURE; return FAILURE;
} }
} }
/* return a single element if next() was called without count */ /* return a single element if next() was called without count */
if ((arg_count == 0) && (count == 1)) { if ((arg_count == 0) && (count == 1)) {
long index[] = {1}; long index[] = {0};
SafeArrayGetElement(pSA, index, var_result); SafeArrayGetElement(pSA, index, var_result);
SafeArrayDestroy(pSA); SafeArrayDestroy(pSA);
@ -1085,7 +1087,7 @@ PHP_FUNCTION(com_load_typelib)
{ {
pval *arg_typelib, *arg_cis; pval *arg_typelib, *arg_cis;
ITypeLib *pTL; ITypeLib *pTL;
int mode = CONST_CS; /* CONST_PERSISTENT|CONST_CS; */ int mode = CONST_CS;
switch (ZEND_NUM_ARGS()) { switch (ZEND_NUM_ARGS()) {
case 1: case 1:
@ -1651,7 +1653,6 @@ static void php_register_COM_class(TSRMLS_D)
PHP_MINIT_FUNCTION(COM) PHP_MINIT_FUNCTION(COM)
{ {
CoInitialize(NULL);
le_comval = zend_register_list_destructors_ex(php_comval_destructor, NULL, "COM", module_number); le_comval = zend_register_list_destructors_ex(php_comval_destructor, NULL, "COM", module_number);
php_register_COM_class(TSRMLS_C); php_register_COM_class(TSRMLS_C);
REGISTER_INI_ENTRIES(); REGISTER_INI_ENTRIES();
@ -1661,7 +1662,6 @@ PHP_MINIT_FUNCTION(COM)
PHP_MSHUTDOWN_FUNCTION(COM) PHP_MSHUTDOWN_FUNCTION(COM)
{ {
CoUninitialize();
UNREGISTER_INI_ENTRIES(); UNREGISTER_INI_ENTRIES();
return SUCCESS; return SUCCESS;
} }

View file

@ -209,9 +209,7 @@ PHP_MINIT_FUNCTION(DOTNET)
{ {
HRESULT hr; HRESULT hr;
CoInitialize(0); if (FAILED(hr = dotnet_init())) {
hr = dotnet_init();
if (FAILED(hr)) {
return hr; return hr;
} }
@ -223,7 +221,6 @@ PHP_MINIT_FUNCTION(DOTNET)
PHP_MSHUTDOWN_FUNCTION(DOTNET) PHP_MSHUTDOWN_FUNCTION(DOTNET)
{ {
dotnet_term(); dotnet_term();
CoUninitialize();
return SUCCESS; return SUCCESS;
} }

View file

@ -380,7 +380,7 @@ static PHP_INI_MH(OnTypelibFileChange)
ITypeLib *pTL; ITypeLib *pTL;
char *typelib_name; char *typelib_name;
char *modifier, *ptr; char *modifier, *ptr;
int mode = CONST_CS | CONST_PERSISTENT; int mode = CONST_CS | CONST_PERSISTENT; /* CONST_PERSISTENT is ok here */
if (typelib_name_buffer[0]==';') { if (typelib_name_buffer[0]==';') {
continue; continue;
@ -448,7 +448,7 @@ PHP_FUNCTION(com_load)
comval *obj; comval *obj;
char *error_message; char *error_message;
char *clsid_str; char *clsid_str;
int mode = 0; /* CONST_PERSISTENT; */ int mode = 0;
ITypeLib *pTL; ITypeLib *pTL;
@ -508,7 +508,7 @@ PHP_FUNCTION(com_load)
IMoniker *pMoniker; IMoniker *pMoniker;
ULONG ulEaten; ULONG ulEaten;
/* TODO: if (server_name) */ /* @todo if (server_name) */
if (!server_name) { if (!server_name) {
if (SUCCEEDED(hr = CreateBindCtx(0, &pBindCtx))) { if (SUCCEEDED(hr = CreateBindCtx(0, &pBindCtx))) {
@ -577,6 +577,7 @@ PHP_FUNCTION(com_load)
if (INI_INT("com.autoregister_typelib")) { if (INI_INT("com.autoregister_typelib")) {
unsigned int idx; unsigned int idx;
/* @todo check if typlib isn't already loaded */
if (C_TYPEINFO_VT(obj)->GetContainingTypeLib(C_TYPEINFO(obj), &pTL, &idx) == S_OK) { if (C_TYPEINFO_VT(obj)->GetContainingTypeLib(C_TYPEINFO(obj), &pTL, &idx) == S_OK) {
php_COM_load_typelib(pTL, mode TSRMLS_CC); php_COM_load_typelib(pTL, mode TSRMLS_CC);
pTL->lpVtbl->Release(pTL); pTL->lpVtbl->Release(pTL);
@ -667,9 +668,10 @@ int do_COM_invoke(comval *obj, pval *function_name, VARIANT *var_result, pval **
return FAILURE; return FAILURE;
} }
} }
/* return a single element if next() was called without count */ /* return a single element if next() was called without count */
if ((arg_count == 0) && (count == 1)) { if ((arg_count == 0) && (count == 1)) {
long index[] = {1}; long index[] = {0};
SafeArrayGetElement(pSA, index, var_result); SafeArrayGetElement(pSA, index, var_result);
SafeArrayDestroy(pSA); SafeArrayDestroy(pSA);
@ -1085,7 +1087,7 @@ PHP_FUNCTION(com_load_typelib)
{ {
pval *arg_typelib, *arg_cis; pval *arg_typelib, *arg_cis;
ITypeLib *pTL; ITypeLib *pTL;
int mode = CONST_CS; /* CONST_PERSISTENT|CONST_CS; */ int mode = CONST_CS;
switch (ZEND_NUM_ARGS()) { switch (ZEND_NUM_ARGS()) {
case 1: case 1:
@ -1651,7 +1653,6 @@ static void php_register_COM_class(TSRMLS_D)
PHP_MINIT_FUNCTION(COM) PHP_MINIT_FUNCTION(COM)
{ {
CoInitialize(NULL);
le_comval = zend_register_list_destructors_ex(php_comval_destructor, NULL, "COM", module_number); le_comval = zend_register_list_destructors_ex(php_comval_destructor, NULL, "COM", module_number);
php_register_COM_class(TSRMLS_C); php_register_COM_class(TSRMLS_C);
REGISTER_INI_ENTRIES(); REGISTER_INI_ENTRIES();
@ -1661,7 +1662,6 @@ PHP_MINIT_FUNCTION(COM)
PHP_MSHUTDOWN_FUNCTION(COM) PHP_MSHUTDOWN_FUNCTION(COM)
{ {
CoUninitialize();
UNREGISTER_INI_ENTRIES(); UNREGISTER_INI_ENTRIES();
return SUCCESS; return SUCCESS;
} }

View file

@ -209,9 +209,7 @@ PHP_MINIT_FUNCTION(DOTNET)
{ {
HRESULT hr; HRESULT hr;
CoInitialize(0); if (FAILED(hr = dotnet_init())) {
hr = dotnet_init();
if (FAILED(hr)) {
return hr; return hr;
} }
@ -223,7 +221,6 @@ PHP_MINIT_FUNCTION(DOTNET)
PHP_MSHUTDOWN_FUNCTION(DOTNET) PHP_MSHUTDOWN_FUNCTION(DOTNET)
{ {
dotnet_term(); dotnet_term();
CoUninitialize();
return SUCCESS; return SUCCESS;
} }