summaryrefslogtreecommitdiff
path: root/extensions/source/activex/main
diff options
context:
space:
mode:
authorMikhail Voitenko <mav@openoffice.org>2009-11-03 10:50:31 +0000
committerMikhail Voitenko <mav@openoffice.org>2009-11-03 10:50:31 +0000
commite24840273a726122b9831ee92e44c5cf49723724 (patch)
tree30885fab4e47c36321bdae8d2570f55e5e063074 /extensions/source/activex/main
parent0e09a97231f583b46e1926ab3e20089848bfbcbd (diff)
#i106476# support 64-bit IE
Diffstat (limited to 'extensions/source/activex/main')
-rw-r--r--extensions/source/activex/main/so_activex.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/extensions/source/activex/main/so_activex.cpp b/extensions/source/activex/main/so_activex.cpp
index 313967944..219b850e8 100644
--- a/extensions/source/activex/main/so_activex.cpp
+++ b/extensions/source/activex/main/so_activex.cpp
@@ -362,7 +362,7 @@ STDAPI DllUnregisterServerNative_Impl( int nMode, BOOL bForAllUsers, REGSAM nKey
{
RegCloseKey( hkey ), hkey = NULL;
if ( !nSubKeys && !nValues )
- SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey );
+ SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 );
}
}
@@ -382,38 +382,38 @@ STDAPI DllUnregisterServerNative_Impl( int nMode, BOOL bForAllUsers, REGSAM nKey
{
RegCloseKey( hkey ), hkey = NULL;
if ( !nSubKeys && !nValues )
- SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey );
+ SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 );
}
}
}
}
wsprintfA( aSubKey, "%sCLSID\\%s", aPrefix, aClassID );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%sso_activex.SOActiveX", aPrefix );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%sso_activex.SOActiveX.1", aPrefix );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%s\\TypeLib\\%s", aPrefix, aTypeLib );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%s\\Interface\\%s", aPrefix, aInterIDWinPeer );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%s\\Interface\\%s", aPrefix, aInterIDDispInt );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
wsprintfA( aSubKey, "%s\\Interface\\%s", aPrefix, aInterIDActApprove );
- if( ERROR_SUCCESS != SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey ) )
+ if( ERROR_SUCCESS != SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 ) )
fErr = TRUE;
return !fErr;
@@ -563,7 +563,7 @@ STDAPI DllUnregisterServerDoc_Impl( int nMode, BOOL bForAllUsers, REGSAM nKeyAcc
{
RegCloseKey( hkey ), hkey = NULL;
if ( !nSubKeys && !nValues )
- SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey );
+ SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 );
}
}
@@ -586,7 +586,7 @@ STDAPI DllUnregisterServerDoc_Impl( int nMode, BOOL bForAllUsers, REGSAM nKeyAcc
{
RegCloseKey( hkey ), hkey = NULL;
if ( !nSubKeys && !nValues )
- SHDeleteKeyA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey );
+ SHDeleteKeyExA( bForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, nKeyAccess & ( KEY_WOW64_64KEY | KEY_WOW64_32KEY ), 0 );
}
}
}