Adding a few missing registry functions. WINDOWS CE ONLY. Not Part of the normal build

This commit is contained in:
dougt%meer.net 2005-04-22 19:36:37 +00:00
Родитель 9fea313c56
Коммит 1e491df41d
2 изменённых файлов: 92 добавлений и 0 удалений

Просмотреть файл

@ -39,6 +39,9 @@
#ifndef MOZCE_SHUNT_H
#define MOZCE_SHUNT_H
// This is to silence the #pragma deprecated warnings
#pragma warning(disable: 4068)
#include "mozce_defs.h"
#include <commdlg.h>
@ -962,6 +965,21 @@
#endif
#define RegQueryValueExA mozce_RegQueryValueExA
#ifdef RegSetValueExA
#undef RegSetValueExA
#endif
#define RegSetValueExA mozce_RegSetValueExA
#ifdef RegCreateKeyExA
#undef RegCreateKeyExA
#endif
#define RegCreateKeyExA mozce_RegCreateKeyExA
#ifdef RegDeleteValueA
#undef RegDeleteValueA
#endif
#define RegDeleteValueA mozce_RegDeleteValueA
#ifdef RegisterClassA
#undef RegisterClassA
#endif
@ -1327,6 +1345,12 @@ extern "C" {
MOZCE_SHUNT_API LONG mozce_RegEnumKeyExA(HKEY inKey, DWORD inIndex, LPSTR outName, LPDWORD inoutName, LPDWORD inReserved, LPSTR outClass, LPDWORD inoutClass, PFILETIME inLastWriteTime);
MOZCE_SHUNT_API LONG mozce_RegOpenKeyExA(HKEY inKey, LPCSTR inSubKey, DWORD inOptions, REGSAM inSAM, PHKEY outResult);
MOZCE_SHUNT_API LONG mozce_RegQueryValueExA(HKEY inKey, LPCSTR inValueName, LPDWORD inReserved, LPDWORD outType, LPBYTE inoutBData, LPDWORD inoutDData);
MOZCE_SHUNT_API LONG mozce_RegSetValueExA(HKEY hKey, const char *valname, DWORD dwReserved, DWORD dwType, const BYTE* lpData, DWORD dwSize);
MOZCE_SHUNT_API LONG mozce_RegCreateKeyExA(HKEY hKey, const char *subkey, DWORD dwRes, LPSTR lpszClass, DWORD ulOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES sec_att, PHKEY phkResult, DWORD *lpdwDisp);
MOZCE_SHUNT_API LONG mozce_RegDeleteValueA(HKEY hKey, LPCTSTR lpValueName);
MOZCE_SHUNT_API LRESULT mozce_DefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
MOZCE_SHUNT_API LRESULT mozce_PostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
MOZCE_SHUNT_API LRESULT mozce_SendMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

Просмотреть файл

@ -405,6 +405,74 @@ MOZCE_SHUNT_API LONG mozce_RegQueryValueExA(HKEY inKey, LPCSTR inValueName, LPDW
return retval;
}
MOZCE_SHUNT_API LONG mozce_RegSetValueExA(HKEY hKey, const char *valname, DWORD dwReserved, DWORD dwType, LPBYTE lpData, DWORD dwSize)
{
MOZCE_PRECHECK
#ifdef DEBUG
mozce_printf("mozce_RegSetValueExA called\n");
#endif
wchar_t valnamew[256];
LONG res;
LPBYTE lpDataNew = lpData;
DWORD dwDataSize = dwSize;
MultiByteToWideChar(CP_ACP, 0, valname, -1, valnamew, charcount(valnamew));
if(dwType == REG_SZ || dwType == REG_EXPAND_SZ)
{
dwDataSize = dwSize * 2;
lpDataNew = (LPBYTE) malloc(dwDataSize);
MultiByteToWideChar(CP_ACP, 0, (const char*) lpData, -1, (wchar_t *)lpDataNew, dwDataSize);
}
res = RegSetValueExW(hKey, valnamew, dwReserved, dwType, lpDataNew, dwDataSize);
free(lpDataNew);
return res;
}
MOZCE_SHUNT_API LONG mozce_RegCreateKeyExA(HKEY hKey, const char *subkey, DWORD dwRes, LPSTR lpszClass, DWORD ulOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES sec_att, PHKEY phkResult, DWORD *lpdwDisp)
{
MOZCE_PRECHECK
#ifdef DEBUG
mozce_printf("mozce_RegCreateKeyExA called\n");
#endif
LPTSTR wName = a2w_malloc(subkey, -1, NULL);
long res = RegCreateKeyExW(hKey, wName, dwRes, NULL, ulOptions, samDesired, NULL, phkResult, lpdwDisp);
free(wName);
return res;
}
MOZCE_SHUNT_API LONG mozce_RegDeleteValueA(HKEY hKey, LPCSTR lpValueName)
{
MOZCE_PRECHECK
#ifdef DEBUG
mozce_printf("mozce_RegDeleteValueA called\n");
#endif
LPTSTR wName = a2w_malloc(lpValueName, -1, NULL);
long res = RegDeleteKeyW(hKey, wName);
free(wName);
return res;
}
MOZCE_SHUNT_API int mozce_MessageBoxA(HWND inWnd, LPCSTR inText, LPCSTR inCaption, UINT uType)
{
MOZCE_PRECHECK