mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 06:10:16 +02:00
+wince : added RegXXX ansi missing funcs
git-svn-id: trunk@6318 -
This commit is contained in:
parent
2fb33c4664
commit
61397d3953
@ -15,13 +15,23 @@
|
|||||||
{
|
{
|
||||||
*What should contain this file*
|
*What should contain this file*
|
||||||
|
|
||||||
functions missing on wince in order to be compatible with win32
|
functions missing on wince api
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{$ifdef read_interface}
|
{$ifdef read_interface}
|
||||||
|
|
||||||
function LoadLibraryA(lpLibFileName:LPCSTR):HINST;
|
function LoadLibraryA(lpLibFileName:LPCSTR):HINST;
|
||||||
|
function RegCreateKeyExA(hKey:HKEY; lpSubKey:LPCSTR; Reserved:DWORD; lpClass:LPSTR; dwOptions:DWORD;samDesired:REGSAM; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; var hkResult: HKEY; lpdwDisposition:LPDWORD):LONG;
|
||||||
|
function RegDeleteKeyA(hKey:HKEY; lpSubKey:LPCSTR):LONG;
|
||||||
|
function RegDeleteValueA(hKey:HKEY; lpValueName:LPCSTR):LONG;
|
||||||
|
function RegEnumKeyExA(hKey:HKEY; dwIndex:DWORD; lpName:LPSTR; var cbName:DWORD; lpReserved:LPDWORD;lpClass:LPSTR; lpcbClass:LPDWORD; lpftLastWriteTime:PFILETIME):LONG;
|
||||||
|
function RegEnumValueA(hKey:HKEY; dwIndex:DWORD; lpValueName:LPSTR; var cbValueName: DWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:pointer; lpcbData:LPDWORD):LONG;
|
||||||
|
function RegQueryValueExA(hKey:HKEY; lpValueName:LPCSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:pointer;lpcbData:LPDWORD):LONG;
|
||||||
|
function RegQueryInfoKeyA(hKey:HKEY; lpClass:LPSTR; lpcbClass:LPDWORD; lpReserved:LPDWORD; lpcSubKeys:LPDWORD;lpcbMaxSubKeyLen:LPDWORD; lpcbMaxClassLen:LPDWORD; lpcValues:LPDWORD; lpcbMaxValueNameLen:LPDWORD;
|
||||||
|
lpcbMaxValueLen:LPDWORD;lpcbSecurityDescriptor:LPDWORD; lpftLastWriteTime:PFILETIME):LONG;
|
||||||
|
function RegOpenKeyExA(hKey:HKEY; lpSubKey:LPCSTR; ulOptions:DWORD; samDesired:REGSAM; var hkResult: HKEY):LONG;
|
||||||
|
function RegSetValueExA(hKey:HKEY; lpValueName:LPCSTR; Reserved:DWORD; dwType:DWORD; lpData:pointer;cbData:DWORD):LONG;
|
||||||
|
|
||||||
{$endif read_interface}
|
{$endif read_interface}
|
||||||
|
|
||||||
@ -32,9 +42,86 @@ function LoadLibraryA(lpLibFileName:LPCSTR):HINST;
|
|||||||
var ws: PWideChar;
|
var ws: PWideChar;
|
||||||
begin
|
begin
|
||||||
ws:=StringToPWideChar(lpLibFileName);
|
ws:=StringToPWideChar(lpLibFileName);
|
||||||
try
|
Result:=Windows.LoadLibrary(ws);
|
||||||
Result:=Windows.LoadLibrary(ws);
|
FreeMem(ws);
|
||||||
finally FreeMem(ws); end;
|
end;
|
||||||
|
|
||||||
|
function RegCreateKeyExA(hKey:HKEY; lpSubKey:LPCSTR; Reserved:DWORD; lpClass:LPSTR; dwOptions:DWORD;samDesired:REGSAM; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; var hkResult: HKEY; lpdwDisposition:LPDWORD):LONG;
|
||||||
|
var lpwsSubKey,
|
||||||
|
lpwsClass: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsSubKey:=StringToPWideChar(lpSubKey);
|
||||||
|
lpwsClass:=StringToPWideChar(lpClass);
|
||||||
|
Result:=RegCreateKeyExW(hKey,lpwsSubKey,Reserved,lpwsClass,dwOptions,samDesired,lpSecurityAttributes, hkResult,lpdwDisposition);
|
||||||
|
FreeMem(lpwsClass); FreeMem(lpwsSubKey);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegDeleteKeyA(hKey:HKEY; lpSubKey:LPCSTR):LONG;
|
||||||
|
var lpwsSubKey: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsSubKey:=StringToPWideChar(lpSubKey);
|
||||||
|
Result:=RegDeleteKeyW(hKey,lpwsSubKey);
|
||||||
|
FreeMem(lpwsSubKey);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegDeleteValueA(hKey:HKEY; lpValueName:LPCSTR):LONG;
|
||||||
|
var lpwsValueName: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsValueName:=StringToPWideChar(lpValueName);
|
||||||
|
Result:=RegDeleteValueW(hKey,lpwsValueName);
|
||||||
|
FreeMem(lpwsValueName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegEnumKeyExA(hKey:HKEY; dwIndex:DWORD; lpName:LPSTR; var cbName:DWORD; lpReserved:LPDWORD;lpClass:LPSTR; lpcbClass:LPDWORD; lpftLastWriteTime:PFILETIME):LONG;
|
||||||
|
var lpwsName,
|
||||||
|
lpwsClass: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsName:=StringToPWideChar(lpName);
|
||||||
|
lpwsClass:=StringToPWideChar(lpClass);
|
||||||
|
Result:=RegEnumKeyExW(hKey, dwIndex, lpwsName, cbName, lpReserved, lpwsClass, lpcbClass, lpftLastWriteTime);
|
||||||
|
FreeMem(lpwsName); FreeMem(lpwsClass);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegEnumValueA(hKey:HKEY; dwIndex:DWORD; lpValueName:LPSTR; var cbValueName: DWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:pointer; lpcbData:LPDWORD):LONG;
|
||||||
|
var lpwsValueName: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsValueName:=StringToPWideChar(lpValueName);
|
||||||
|
Result:=RegEnumValueW(hKey, dwIndex, lpwsValueName, @cbValueName, lpReserved, lpType, lpData, lpcbData);
|
||||||
|
FreeMem(lpwsValueName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegQueryValueExA(hKey:HKEY; lpValueName:LPCSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:pointer;lpcbData:LPDWORD):LONG;
|
||||||
|
var lpwsValueName: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsValueName:=StringToPWideChar(lpValueName);
|
||||||
|
Result:=RegQueryValueExW(hKey, lpwsValueName, lpReserved, lpType, lpData, lpcbData);
|
||||||
|
FreeMem(lpwsValueName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegQueryInfoKeyA(hKey:HKEY; lpClass:LPSTR; lpcbClass:LPDWORD; lpReserved:LPDWORD; lpcSubKeys:LPDWORD;lpcbMaxSubKeyLen:LPDWORD; lpcbMaxClassLen:LPDWORD; lpcValues:LPDWORD; lpcbMaxValueNameLen:LPDWORD;
|
||||||
|
lpcbMaxValueLen:LPDWORD;lpcbSecurityDescriptor:LPDWORD; lpftLastWriteTime:PFILETIME):LONG;
|
||||||
|
var lpwsClass: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsClass:=StringToPWideChar(lpClass);
|
||||||
|
Result:=RegQueryInfoKeyW(hKey, lpwsClass, lpcbClass, lpReserved, lpcSubKeys , lpcbMaxSubKeyLen, lpcbMaxClassLen,
|
||||||
|
lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
|
||||||
|
FreeMem(lpwsClass);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegOpenKeyExA(hKey:HKEY; lpSubKey:LPCSTR; ulOptions:DWORD; samDesired:REGSAM; var hkResult: HKEY):LONG;
|
||||||
|
var lpwsSubKey: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsSubKey:=StringToPWideChar(lpSubKey);
|
||||||
|
Result:=RegOpenKeyExW(hKey, lpwsSubKey, ulOptions, samDesired, hkResult);
|
||||||
|
FreeMem(lpwsSubKey);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RegSetValueExA(hKey:HKEY; lpValueName:LPCSTR; Reserved:DWORD; dwType:DWORD; lpData:pointer;cbData:DWORD):LONG;
|
||||||
|
var lpwsValueName: PWideChar;
|
||||||
|
begin
|
||||||
|
lpwsValueName:=StringToPWideChar(lpValueName);
|
||||||
|
Result:=RegSetValueExW(hKey, lpwsValueName, Reserved, dwType, lpData, cbData);
|
||||||
|
FreeMem(lpwsValueName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$endif read_implementation}
|
{$endif read_implementation}
|
||||||
|
@ -13,10 +13,6 @@
|
|||||||
|
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
|
|
||||||
Changes :
|
|
||||||
|
|
||||||
22/15/2005 : orinaudo@gmail.com, WCE 4.21 SE, First release
|
|
||||||
02-09-2006 : updated
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{$ifdef read_interface}
|
{$ifdef read_interface}
|
||||||
@ -199,7 +195,8 @@ function RegCreateKeyExW(hKey: HKEY; lpSubKey: LPWSTR; Reserved: DWORD; lpClass:
|
|||||||
function RegEnumKeyEx(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
|
function RegEnumKeyEx(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
|
||||||
function RegEnumKeyExW(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
|
function RegEnumKeyExW(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
|
||||||
function RegEnumValue(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
|
function RegEnumValue(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
|
||||||
function RegEnumValueW(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
|
//removed use RegEnumValueA instead
|
||||||
|
//function RegEnumValueW(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
|
||||||
function RegisterClass(const lpWndClass: TWndClass): ATOM;external KernelDLL name 'RegisterClassW';
|
function RegisterClass(const lpWndClass: TWndClass): ATOM;external KernelDLL name 'RegisterClassW';
|
||||||
function RegisterClassW(const lpWndClass: TWndClassW): ATOM; external KernelDLL name 'RegisterClassW';
|
function RegisterClassW(const lpWndClass: TWndClassW): ATOM; external KernelDLL name 'RegisterClassW';
|
||||||
function RegOpenKeyEx(hKey: HKEY; lpSubKey: LPWSTR; ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): Longint; external KernelDLL name 'RegOpenKeyExW';
|
function RegOpenKeyEx(hKey: HKEY; lpSubKey: LPWSTR; ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): Longint; external KernelDLL name 'RegOpenKeyExW';
|
||||||
@ -217,7 +214,7 @@ function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD; v
|
|||||||
|
|
||||||
(*
|
(*
|
||||||
!!! The following commented out part is copied from win32 redef.inc
|
!!! The following commented out part is copied from win32 redef.inc
|
||||||
It is profided as reference. Functions which exists in wince should be corrected
|
It is provided as reference. Functions which exists in wince should be corrected
|
||||||
and moved from here to be available.
|
and moved from here to be available.
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user