cvs: php4 /ext/iisfunc iisfunc.cpp iisfunc.h setup.c setup.h

From: Date: Wed, 15 Aug 2001 12:38:33 +0000
Subject: cvs: php4 /ext/iisfunc iisfunc.cpp iisfunc.h setup.c setup.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-6860@lists.php.net to get a copy of this message
phanto Wed Aug 15 08:38:33 2001 EDT Modified files: /php4/ext/iisfunc iisfunc.cpp iisfunc.h setup.c setup.h Log: - removed all those CoInitialize() and CoCreateInstance() calls - created a global IMSAdminBase instance for the whole module

Index: php4/ext/iisfunc/iisfunc.cpp diff -u php4/ext/iisfunc/iisfunc.cpp:1.3 php4/ext/iisfunc/iisfunc.cpp:1.4 --- php4/ext/iisfunc/iisfunc.cpp:1.3 Sat Aug 11 12:38:51 2001 +++ php4/ext/iisfunc/iisfunc.cpp Wed Aug 15 08:38:33 2001 @@ -15,22 +15,44 @@ | Authors: Frank M. Kromann <fmk@swwwing.com> | +----------------------------------------------------------------------+ */ -/* $Id: iisfunc.cpp,v 1.3 2001/08/11 16:38:51 zeev Exp $ */ +/* $Id: iisfunc.cpp,v 1.4 2001/08/15 12:38:33 phanto Exp $ */ /* iisfunc.cpp : Defines the entry point for the DLL application. */ + +#ifdef PHP_WIN32 + #define UNICODE #define INITGUID #include <windows.h> -#include <stdio.h> + #define _ATL_DLL_IMPL + +#include <iostream.h> +#include <math.h> #include <ks.h> #include <atlbase.h> // ATL support #include <iadmw.h> // COM Interface header -#include "iisfunc.h" +#include <iiscnfg.h> // MD_ & IIS_MD_ #defines + +extern "C" { +#include "php.h" +} + +#include "setup.h" + +extern "C" void fnIisInit(TSRMLS_D) +{ + CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, &IISG(pIMeta)); +} -extern "C" IISFUNC_API int fnIisGetServerByPath(char * ServerPath) +extern "C" void fnIisShutdown(TSRMLS_D) +{ + ((IMSAdminBase *) IISG(pIMeta))->Release(); +} + +extern "C" int fnIisGetServerByPath(char * ServerPath TSRMLS_DC) { HRESULT hRes = 0, hResSub = 0; DWORD buffer = 0; @@ -44,8 +66,8 @@ CComPtr <IMSAdminBase> pIMeta; DWORD indx = 0; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -74,10 +96,11 @@ indx++; } pIMeta->CloseKey(MyHandle); + return 0; } -extern "C" IISFUNC_API int fnIisGetServerByComment(char * ServerComment) +extern "C" int fnIisGetServerByComment(char * ServerComment TSRMLS_DC) { HRESULT hRes = 0, hResSub = 0; DWORD buffer = 0; @@ -91,8 +114,8 @@ CComPtr <IMSAdminBase> pIMeta; DWORD indx = 0; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -121,10 +144,11 @@ indx++; } pIMeta->CloseKey(MyHandle); + return 0; } -extern "C" IISFUNC_API int fnIisAddServer(char * ServerPath, char * ServerComment, char * ServerIp, char * ServerPort, char * ServerHost, DWORD ServerRights, DWORD StartServer) +extern "C" int fnIisAddServer(char * ServerPath, char * ServerComment, char * ServerIp, char * ServerPort, char * ServerHost, DWORD ServerRights, DWORD StartServer TSRMLS_DC) { HRESULT hRes = 0; DWORD dwBuffer = 65535; @@ -138,8 +162,8 @@ CComPtr <IMSAdminBase> pIMeta; DWORD indx = 0; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -238,12 +262,13 @@ } else return -501; + pIMeta->CloseKey(MyHandle); return ServerInstance; } -extern "C" IISFUNC_API int fnIisRemoveServer(DWORD ServerInstance) +extern "C" int fnIisRemoveServer(DWORD ServerInstance TSRMLS_DC) { HRESULT hRes = 0; DWORD dwBuffer = 65535; @@ -252,8 +277,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -276,12 +301,14 @@ } else return -601; + pIMeta->CloseKey(MyHandle); + return 1; } -extern "C" IISFUNC_API int fnIisSetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD DirFlags) +extern "C" int fnIisSetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD DirFlags TSRMLS_DC) { HRESULT hRes = 0; METADATA_HANDLE MyHandle; @@ -289,8 +316,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -311,12 +338,13 @@ } else return -501; + pIMeta->CloseKey(MyHandle); return 1; } -extern "C" IISFUNC_API int fnIisGetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD * DirFlags) +extern "C" int fnIisGetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD * DirFlags TSRMLS_DC) { HRESULT hRes = 0; DWORD buffer = 0; @@ -325,8 +353,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -347,12 +375,13 @@ } else return -501; + pIMeta->CloseKey(MyHandle); return 1; } -extern "C" IISFUNC_API int fnIisSetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD ServerRights) +extern "C" int fnIisSetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD ServerRights TSRMLS_DC) { HRESULT hRes = 0; METADATA_HANDLE MyHandle; @@ -360,8 +389,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -382,12 +411,13 @@ } else return -501; + pIMeta->CloseKey(MyHandle); return 1; } -extern "C" IISFUNC_API int fnIisGetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD * ServerRights) +extern "C" int fnIisGetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD * ServerRights TSRMLS_DC) { HRESULT hRes = 0; DWORD buffer = 0; @@ -396,8 +426,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -423,7 +453,7 @@ return 1; } -extern "C" IISFUNC_API int fnIisSetServerStatus(DWORD ServerInstance, DWORD StartServer) +extern "C" int fnIisSetServerStatus(DWORD ServerInstance, DWORD StartServer TSRMLS_DC) { HRESULT hRes = 0; METADATA_HANDLE MyHandle; @@ -431,8 +461,8 @@ WCHAR SubKeyName[METADATA_MAX_NAME_LEN]; CComPtr <IMSAdminBase> pIMeta; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -458,7 +488,7 @@ return 1; } -extern "C" IISFUNC_API int fnIisSetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptMap) +extern "C" int fnIisSetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptMap TSRMLS_DC) { HRESULT hRes = 0; DWORD buffer = 0; @@ -470,8 +500,8 @@ CComPtr <IMSAdminBase> pIMeta; WCHAR NewData[65535]; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -512,7 +542,7 @@ return 1; } -extern "C" IISFUNC_API int fnIisGetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptExtention, char * ReturnValue) +extern "C" int fnIisGetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptExtention, char * ReturnValue TSRMLS_DC) { HRESULT hRes = 0; DWORD buffer = 0; @@ -525,8 +555,8 @@ PBYTE temp; char extBuffer[256]; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -557,7 +587,7 @@ return 1; } -extern "C" IISFUNC_API int fnIisSetAppSettings(DWORD ServerInstance, char * VirtualPath, char * AppName) +extern "C" int fnIisSetAppSettings(DWORD ServerInstance, char * VirtualPath, char * AppName TSRMLS_DC) { HRESULT hRes = 0; METADATA_HANDLE MyHandle; @@ -567,8 +597,8 @@ CComPtr <IMSAdminBase> pIMeta; DWORD isolated = 0; - CoInitialize(NULL); - hRes = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &pIMeta); + ((IMSAdminBase *) IISG(pIMeta))->AddRef(); /* Attach doesn't call AddRef() */ + pIMeta.Attach((IMSAdminBase *) IISG(pIMeta)); if (FAILED(hRes)) return hRes; @@ -624,7 +654,7 @@ return 1; } -extern "C" IISFUNC_API int fnStopService(LPCTSTR ServiceId) +extern "C" int fnStopService(LPCTSTR ServiceId TSRMLS_DC) { SC_HANDLE hnd, hsvc; SERVICE_STATUS ss; @@ -644,7 +674,7 @@ return -101; } -extern "C" IISFUNC_API int fnStartService(LPCTSTR ServiceId) +extern "C" int fnStartService(LPCTSTR ServiceId TSRMLS_DC) { SC_HANDLE hnd, hsvc; @@ -663,7 +693,7 @@ return -101; } -extern "C" IISFUNC_API int fnGetServiceState(LPCTSTR ServiceId) +extern "C" int fnGetServiceState(LPCTSTR ServiceId TSRMLS_DC) { SC_HANDLE hnd, hsvc; SERVICE_STATUS ss; @@ -682,3 +712,5 @@ else return -101; } + +#endif /* PHP_WIN32 */ \ No newline at end of file Index: php4/ext/iisfunc/iisfunc.h diff -u php4/ext/iisfunc/iisfunc.h:1.2 php4/ext/iisfunc/iisfunc.h:1.3 --- php4/ext/iisfunc/iisfunc.h:1.2 Mon Feb 26 01:06:58 2001 +++ php4/ext/iisfunc/iisfunc.h Wed Aug 15 08:38:33 2001 @@ -15,14 +15,9 @@ | Authors: Frank M. Kromann <fmk@swwwing.com> | +----------------------------------------------------------------------+ */ -/* $Id: iisfunc.h,v 1.2 2001/02/26 06:06:58 andi Exp $ */ +/* $Id: iisfunc.h,v 1.3 2001/08/15 12:38:33 phanto Exp $ */ -#include <iiscnfg.h> // MD_ & IIS_MD_ #defines - -#ifdef __cplusplus -extern "C" -{ -#endif +#include "setup.h" #ifdef IISFUNC_EXPORTS #define IISFUNC_API __declspec(dllexport) @@ -30,17 +25,31 @@ #define IISFUNC_API __declspec(dllimport) #endif -extern "C" IISFUNC_API int fnIisGetServerByPath(char * ServerPath); -extern "C" IISFUNC_API int fnIisGetServerByComment(char * ServerComment); +BEGIN_EXTERN_C(); -extern "C" IISFUNC_API int fnIisAddServer(char * ServerPath, char * ServerComment, char * ServerIp, char * ServerPort, char * ServerHost, DWORD ServerRights, DWORD StartServer); -extern "C" IISFUNC_API int fnIisSetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD ServerRights); -extern "C" IISFUNC_API int fnIisSetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD DirFlags); - -extern "C" IISFUNC_API int fnStopService(LPCTSTR ServiceId); -extern "C" IISFUNC_API int fnStartService(LPCTSTR ServiceId); -extern "C" IISFUNC_API int fnGetServiceState(LPCTSTR ServiceId); + void fnIisInit(TSRMLS_D); + void fnIisShutdown(TSRMLS_D); -#ifdef __cplusplus -} -#endif + int fnIisGetServerByPath(char * ServerPath TSRMLS_DC); + int fnIisGetServerByComment(char * ServerComment TSRMLS_DC); + + int fnIisAddServer(char * ServerPath, char * ServerComment, char * ServerIp, char * ServerPort, char * ServerHost, DWORD ServerRights, DWORD StartServer TSRMLS_DC); + int fnIisRemoveServer(DWORD ServerInstance TSRMLS_DC); + + int fnIisSetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD DirFlags TSRMLS_DC); + int fnIisGetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD * DirFlags TSRMLS_DC); + + int fnIisSetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD ServerRights TSRMLS_DC); + int fnIisGetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD * ServerRights TSRMLS_DC); + int fnIisSetServerStatus(DWORD ServerInstance, DWORD StartServer TSRMLS_DC); + + int fnIisSetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptMap TSRMLS_DC); + int fnIisGetScriptMap(DWORD ServerInstance, char * VirtualPath, char * SeciptExtention, char * ReturnValue TSRMLS_DC); + + int fnIisSetAppSettings(DWORD ServerInstance, char * VirtualPath, char * AppName TSRMLS_DC); + + int fnStopService(LPSTR ServiceId TSRMLS_DC); + int fnStartService(LPTSTR ServiceId TSRMLS_DC); + int fnGetServiceState(LPTSTR ServiceId TSRMLS_DC); + +END_EXTERN_C() Index: php4/ext/iisfunc/setup.c diff -u php4/ext/iisfunc/setup.c:1.6 php4/ext/iisfunc/setup.c:1.7 --- php4/ext/iisfunc/setup.c:1.6 Mon Jul 30 02:17:53 2001 +++ php4/ext/iisfunc/setup.c Wed Aug 15 08:38:33 2001 @@ -15,7 +15,7 @@ | Authors: Frank M. Kromann <fmk@swwwing.com> | +----------------------------------------------------------------------+ */ -/* $Id: setup.c,v 1.6 2001/07/30 06:17:53 zeev Exp $ */ +/* $Id: setup.c,v 1.7 2001/08/15 12:38:33 phanto Exp $ */ #ifdef COMPILE_DL_IISFUNC #define HAVE_IISFUNC 1 @@ -28,9 +28,14 @@ #include "php.h" #include "php_globals.h" #include "ext/standard/info.h" -#include "setup.h" -#if HAVE_IISFUNC +#include <windows.h> +#include <iadmw.h> // COM Interface header +#include <iiscnfg.h> // MD_ & IIS_MD_ #defines + +#include "iisfunc.h" + +#ifdef HAVE_IISFUNC function_entry iisfunc_functions[] = { PHP_FE(iis_getserverbypath, NULL) @@ -69,6 +74,8 @@ PHP_MINIT_FUNCTION(iisfunc) { + fnIisInit(TSRMLS_C); + REGISTER_LONG_CONSTANT("IIS_READ", 0x1, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IIS_WRITE", 0x2, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IIS_EXECUTE", 0x4, CONST_CS | CONST_PERSISTENT); @@ -81,6 +88,8 @@ PHP_MSHUTDOWN_FUNCTION(iisfunc) { + fnIisShutdown(TSRMLS_C); + return SUCCESS; } @@ -116,7 +125,7 @@ convert_to_string(ServerPath); - rc = fnIisGetServerByPath(ServerPath->value.str.val); + rc = fnIisGetServerByPath(ServerPath->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -141,7 +150,7 @@ convert_to_string(ServerComment); - rc = fnIisGetServerByComment(ServerComment->value.str.val); + rc = fnIisGetServerByComment(ServerComment->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -178,7 +187,7 @@ ServerPort->value.str.val, ServerHost->value.str.val, ServerRights->value.lval, - StartServer->value.lval); + StartServer->value.lval TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -202,7 +211,7 @@ convert_to_long(ServerInstance); - rc = fnIisRemoveServer(ServerInstance->value.lval); + rc = fnIisRemoveServer(ServerInstance->value.lval TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -228,7 +237,7 @@ convert_to_string(VirtualPath); convert_to_long(DirFlags); - rc = fnIisSetDirSecurity(ServerInstance->value.lval, VirtualPath->value.str.val, DirFlags->value.lval); + rc = fnIisSetDirSecurity(ServerInstance->value.lval, VirtualPath->value.str.val, DirFlags->value.lval TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -254,7 +263,7 @@ convert_to_long(ServerInstance); convert_to_string(VirtualPath); - rc = fnIisGetDirSecurity(ServerInstance->value.lval, VirtualPath->value.str.val, &DirFlags); + rc = fnIisGetDirSecurity(ServerInstance->value.lval, VirtualPath->value.str.val, &DirFlags TSRMLS_CC); if (rc) { RETVAL_LONG(DirFlags); } @@ -280,7 +289,7 @@ convert_to_string(VirtualPath); convert_to_long(ServerFlags); - rc = fnIisSetServerRight(ServerInstance->value.lval, VirtualPath->value.str.val, ServerFlags->value.lval); + rc = fnIisSetServerRight(ServerInstance->value.lval, VirtualPath->value.str.val, ServerFlags->value.lval TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -306,7 +315,7 @@ convert_to_long(ServerInstance); convert_to_string(VirtualPath); - rc = fnIisGetServerRight(ServerInstance->value.lval, VirtualPath->value.str.val, &DirFlags); + rc = fnIisGetServerRight(ServerInstance->value.lval, VirtualPath->value.str.val, &DirFlags TSRMLS_CC); if (rc) { RETVAL_LONG(DirFlags); } @@ -337,7 +346,7 @@ sprintf(ScriptingValue, "%s,%s,%li", ScriptExtention->value.str.val, EnginePath->value.str.val, Scripting->value.lval); - rc = fnIisSetScriptMap(ServerInstance->value.lval, VirtualPath->value.str.val, ScriptingValue); + rc = fnIisSetScriptMap(ServerInstance->value.lval, VirtualPath->value.str.val, ScriptingValue TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -367,7 +376,7 @@ convert_to_string(VirtualPath); convert_to_string(ScriptExtention); - rc = fnIisGetScriptMap(ServerInstance->value.lval, VirtualPath->value.str.val, ScriptExtention->value.str.val, strSetting); + rc = fnIisGetScriptMap(ServerInstance->value.lval, VirtualPath->value.str.val, ScriptExtention->value.str.val, strSetting TSRMLS_CC); if (rc == 1 && strlen(strSetting)) { RETVAL_STRING(strSetting, 1); } @@ -394,7 +403,7 @@ convert_to_string(VirtualPath); convert_to_string(Name); - rc = fnIisSetAppSettings(ServerInstance->value.lval, VirtualPath->value.str.val, Name->value.str.val); + rc = fnIisSetAppSettings(ServerInstance->value.lval, VirtualPath->value.str.val, Name->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -419,7 +428,7 @@ convert_to_long(ServerInstance); - rc = fnIisSetServerStatus(ServerInstance->value.lval, 1); + rc = fnIisSetServerStatus(ServerInstance->value.lval, 1 TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -444,7 +453,7 @@ convert_to_long(ServerInstance); - rc = fnIisSetServerStatus(ServerInstance->value.lval, 0); + rc = fnIisSetServerStatus(ServerInstance->value.lval, 0 TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -469,7 +478,7 @@ convert_to_string(ServiceId); - rc = fnStopService(ServiceId->value.str.val); + rc = fnStopService(ServiceId->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -494,7 +503,7 @@ convert_to_string(ServiceId); - rc = fnStartService(ServiceId->value.str.val); + rc = fnStartService(ServiceId->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } @@ -519,7 +528,7 @@ convert_to_string(ServiceId); - rc = fnGetServiceState(ServiceId->value.str.val); + rc = fnGetServiceState(ServiceId->value.str.val TSRMLS_CC); if (rc) { RETVAL_LONG(rc); } Index: php4/ext/iisfunc/setup.h diff -u php4/ext/iisfunc/setup.h:1.3 php4/ext/iisfunc/setup.h:1.4 --- php4/ext/iisfunc/setup.h:1.3 Sun Jul 29 21:56:28 2001 +++ php4/ext/iisfunc/setup.h Wed Aug 15 08:38:33 2001 @@ -15,26 +15,20 @@ | Authors: Frank M. Kromann <fmk@swwwing.com> | +----------------------------------------------------------------------+ */ -/* $Id: setup.h,v 1.3 2001/07/30 01:56:28 zeev Exp $ */ +/* $Id: setup.h,v 1.4 2001/08/15 12:38:33 phanto Exp $ */ #ifndef PHP_IIS_SETUP_H #define PHP_IIS_SETUP_H - -#if HAVE_IISFUNC #ifdef PHP_WIN32 -#define PHP_IISFUNC_API __declspec(dllexport) -#else -#define PHP_IISFUNC_API -#endif -#ifdef __ZTS -#include "TSRM.h" -#endif +#define HAVE_IISFUNC extern zend_module_entry iisfunc_module_entry; #define iisfunc_module_ptr &iisfunc_module_entry +BEGIN_EXTERN_C() + PHP_MINIT_FUNCTION(iisfunc); PHP_MSHUTDOWN_FUNCTION(iisfunc); PHP_RINIT_FUNCTION(iisfunc); @@ -58,28 +52,30 @@ PHP_FUNCTION(iis_startservice); PHP_FUNCTION(iis_getservicestate); -int fnIisGetServerByPath(char * ServerPath); -int fnIisGetServerByComment(char * ServerComment); -int fnIisAddServer(char * ServerPath, char * ServerComment, char * ServerIp, char * ServerPort, char * ServerHost, DWORD ServerRights, DWORD StartServer); -int fnIisRemoveServer(DWORD ServerInstance); -int fnIisSetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD DirFlags); -int fnIisGetDirSecurity(DWORD ServerInstance, char * VirtualPath, DWORD * DirFlags); -int fnIisSetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD ServerRights); -int fnIisGetServerRight(DWORD ServerInstance, char * VirtualPath, DWORD * ServerRights); -int fnIisSetServerStatus(DWORD ServerInstance, DWORD StartServer); -int fnIisSetScriptMap(DWORD ServerInstance, char * VirtualPath, char * ScriptMap); -int fnIisGetScriptMap(DWORD ServerInstance, char * VirtualPath, char * SeciptExtention, char * ReturnValue); -int fnIisSetAppSettings(DWORD ServerInstance, char * VirtualPath, char * AppName); -int fnStopService(LPSTR ServiceId); -int fnStartService(LPTSTR ServiceId); -int fnGetServiceState(LPTSTR ServiceId); +END_EXTERN_C() + +ZEND_BEGIN_MODULE_GLOBALS(iis) + void * pIMeta; +ZEND_END_MODULE_GLOBALS(iis) + +#ifdef ZTS + +int iis_globals_id; +#define IISG(v) TSRMG(iis_globals_id, zend_iis_globals *, v) + +#else + +#define IISG(v) (iis_globals.v) + +#endif + #else #define iisfunc_module_ptr NULL -#endif /* HAVE_IISFUNC */ +#endif /* PHP_WIN32 */ #define phpext_iisfunc_ptr iisfunc_module_ptr -#endif +#endif /* PHP_IIS_SETUP_H */
« previous php.cvs (#6860) next »