mirror of
https://github.com/php/php-src.git
synced 2025-08-20 01:14:28 +02:00
removed CoInitialize() and CoUninitialize()
This commit is contained in:
parent
8300abe367
commit
c674638dd0
4 changed files with 16 additions and 22 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue