mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-25 19:09:52 +03:00
Merge PR #1285: Mayaqua: Fix several warnings related to Windows data type mismatches
This commit is contained in:
commit
7f30cbccf4
@ -98,12 +98,10 @@ static SERVICE_FUNCTION *g_start, *g_stop;
|
||||
static bool exiting = false;
|
||||
static bool wnd_end;
|
||||
static bool is_usermode = false;
|
||||
static bool wts_is_locked_flag = false;
|
||||
static HICON tray_icon;
|
||||
static NOTIFYICONDATA nid;
|
||||
static NOTIFYICONDATAW nid_nt;
|
||||
static bool service_for_9x_mode = false;
|
||||
static THREAD *service_stopper_thread = NULL;
|
||||
static bool tray_inited = false;
|
||||
static HWND hWndUsermode = NULL;
|
||||
static HANDLE hLsa = NULL;
|
||||
@ -535,7 +533,7 @@ void *MsGetCurrentModuleHandle()
|
||||
}
|
||||
|
||||
// Resource enumeration procedure
|
||||
bool CALLBACK MsEnumResourcesInternalProc(HMODULE hModule, const char *type, char *name, LONG_PTR lParam)
|
||||
BOOL CALLBACK MsEnumResourcesInternalProc(HMODULE hModule, const char *type, char *name, LONG_PTR lParam)
|
||||
{
|
||||
LIST *o = (LIST *)lParam;
|
||||
// Validate arguments
|
||||
@ -716,7 +714,7 @@ bool MsPerformMsChapV2AuthByLsa(char *username, UCHAR *challenge8, UCHAR *client
|
||||
DWORD sz;
|
||||
void *profile_buffer = NULL;
|
||||
LUID logon_id;
|
||||
UINT profile_buffer_size = 0;
|
||||
ULONG profile_buffer_size = 0;
|
||||
UINT i;
|
||||
HANDLE hLogon = NULL;
|
||||
QUOTA_LIMITS q;
|
||||
@ -1226,7 +1224,7 @@ void MsUpdateSystem()
|
||||
UINT MsWaitProcessExit(void *process_handle)
|
||||
{
|
||||
HANDLE h = (HANDLE)process_handle;
|
||||
UINT ret = 1;
|
||||
DWORD ret = 1;
|
||||
|
||||
if (h == NULL)
|
||||
{
|
||||
@ -1463,7 +1461,7 @@ static wchar_t ms_computer_name_full_cache[MAX_SIZE] = {0};
|
||||
// Get the full name of the computer
|
||||
void MsGetComputerNameFullEx(wchar_t *name, UINT size, bool with_cache)
|
||||
{
|
||||
UINT size2 = size;
|
||||
DWORD size2 = size;
|
||||
// Validate arguments
|
||||
UniStrCpy(name, size, L"");
|
||||
if (name == NULL || size == 0)
|
||||
@ -1615,9 +1613,9 @@ void *MsRunAsUserExInnerW(wchar_t *filename, wchar_t *arg, bool hide)
|
||||
SID *MsGetSidFromAccountName(char *name)
|
||||
{
|
||||
SID *sid;
|
||||
UINT sid_size = 4096;
|
||||
DWORD sid_size = 4096;
|
||||
char *domain_name;
|
||||
UINT domain_name_size = 4096;
|
||||
DWORD domain_name_size = 4096;
|
||||
SID_NAME_USE use = SidTypeUser;
|
||||
// Validate arguments
|
||||
if (name == NULL)
|
||||
@ -1660,9 +1658,8 @@ void MsFreeSid(SID *sid)
|
||||
// Create a token of standard user
|
||||
HANDLE MsCreateUserToken()
|
||||
{
|
||||
char *medium_sid = "S-1-16-8192";
|
||||
char *administrators_sid = "S-1-5-32-544";
|
||||
SID *sid = NULL;
|
||||
const char *medium_sid = "S-1-16-8192";
|
||||
PSID sid = NULL;
|
||||
TOKEN_MANDATORY_LABEL til;
|
||||
HANDLE hCurrentToken, hNewToken;
|
||||
if (MsIsNt() == false)
|
||||
@ -1969,7 +1966,7 @@ bool MsIs64BitWindows()
|
||||
}
|
||||
else
|
||||
{
|
||||
bool b = false;
|
||||
BOOL b = false;
|
||||
if (ms->nt->IsWow64Process(GetCurrentProcess(), &b) == false)
|
||||
{
|
||||
return false;
|
||||
@ -2096,7 +2093,7 @@ bool MsExecDriverInstaller(char *arg)
|
||||
wchar_t lang_config_src[MAX_PATH];
|
||||
wchar_t lang_config_dst[MAX_PATH];
|
||||
HANDLE h;
|
||||
UINT retcode;
|
||||
DWORD retcode;
|
||||
SHELLEXECUTEINFOW info;
|
||||
wchar_t *arg_w;
|
||||
// Validate arguments
|
||||
@ -2477,8 +2474,8 @@ MS_ADAPTER *MsGetAdapter(char *title)
|
||||
void MsGetAdapterTcpIpInformation(MS_ADAPTER *a)
|
||||
{
|
||||
IP_ADAPTER_INFO *info, *info_top;
|
||||
UINT info_size;
|
||||
UINT ret;
|
||||
ULONG info_size;
|
||||
ULONG ret;
|
||||
// Validate arguments
|
||||
if (a == NULL)
|
||||
{
|
||||
@ -2720,7 +2717,7 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerEx(bool no_info)
|
||||
UINT i;
|
||||
UINT retcode;
|
||||
MIB_IFTABLE *table;
|
||||
UINT table_size = sizeof(MIB_IFTABLE);
|
||||
ULONG table_size = sizeof(MIB_IFTABLE);
|
||||
MS_ADAPTER_LIST *ret;
|
||||
|
||||
if (w32net->GetIfTable2 != NULL && w32net->FreeMibTable != NULL)
|
||||
@ -2759,7 +2756,6 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerEx(bool no_info)
|
||||
{
|
||||
MIB_IFROW *r = &table->table[i];
|
||||
char title[MAX_PATH];
|
||||
UINT num = 0;
|
||||
MS_ADAPTER *a;
|
||||
UINT j;
|
||||
|
||||
@ -2850,8 +2846,7 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerExVista(bool no_info)
|
||||
LIST *o;
|
||||
UINT i;
|
||||
UINT retcode;
|
||||
MIB_IF_TABLE2 *table;
|
||||
UINT table_size = sizeof(MIB_IFTABLE);
|
||||
PMIB_IF_TABLE2 table;
|
||||
MS_ADAPTER_LIST *ret;
|
||||
|
||||
if (w32net->GetIfTable2 == NULL || w32net->FreeMibTable == NULL)
|
||||
@ -2859,7 +2854,7 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerExVista(bool no_info)
|
||||
return ZeroMalloc(sizeof(MS_ADAPTER_LIST));
|
||||
}
|
||||
|
||||
retcode = w32net->GetIfTable2(&table);
|
||||
retcode = w32net->GetIfTable2((void **)&table);
|
||||
if (retcode != NO_ERROR || table == NULL)
|
||||
{
|
||||
return ZeroMalloc(sizeof(MS_ADAPTER_LIST));
|
||||
@ -2871,7 +2866,6 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerExVista(bool no_info)
|
||||
{
|
||||
MIB_IF_ROW2 *r = &table->Table[i];
|
||||
wchar_t title[MAX_PATH];
|
||||
UINT num = 0;
|
||||
MS_ADAPTER *a;
|
||||
UINT j;
|
||||
|
||||
@ -3349,7 +3343,8 @@ LIST *MsGetProcessListNt()
|
||||
LIST *o;
|
||||
UINT max = 16384;
|
||||
DWORD *processes;
|
||||
UINT needed, num;
|
||||
DWORD needed;
|
||||
UINT num;
|
||||
UINT i;
|
||||
|
||||
o = NewListFast(MsCompareProcessList);
|
||||
@ -4427,7 +4422,7 @@ bool MsServiceStopProc()
|
||||
}
|
||||
|
||||
// Service handler
|
||||
void CALLBACK MsServiceHandler(UINT opcode)
|
||||
void CALLBACK MsServiceHandler(DWORD opcode)
|
||||
{
|
||||
switch (opcode)
|
||||
{
|
||||
@ -4451,7 +4446,7 @@ void CALLBACK MsServiceHandler(UINT opcode)
|
||||
}
|
||||
|
||||
// Dispatch function of the service
|
||||
void CALLBACK MsServiceDispatcher(UINT argc, LPTSTR *argv)
|
||||
void CALLBACK MsServiceDispatcher(DWORD argc, LPTSTR *argv)
|
||||
{
|
||||
// Creating a stopping event
|
||||
service_stop_event = CreateEventA(NULL, true, false, NULL);
|
||||
@ -5281,7 +5276,7 @@ wchar_t *MsGetSessionUserName(UINT session_id)
|
||||
{
|
||||
wchar_t *ret;
|
||||
wchar_t *name;
|
||||
UINT size = 0;
|
||||
DWORD size = 0;
|
||||
if (ms->nt->WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, session_id,
|
||||
WTSUserName, (wchar_t *)&name, &size) == false)
|
||||
{
|
||||
@ -5316,7 +5311,7 @@ bool MsIsTerminalSessionActive(UINT session_id)
|
||||
if (MsIsTerminalServiceInstalled() || MsIsUserSwitchingInstalled())
|
||||
{
|
||||
UINT *status = NULL;
|
||||
UINT size = sizeof(status);
|
||||
DWORD size = sizeof(status);
|
||||
bool active = true;
|
||||
|
||||
if (ms->nt->WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, session_id,
|
||||
@ -5351,7 +5346,7 @@ UINT MsGetCurrentTerminalSessionId()
|
||||
{
|
||||
UINT ret;
|
||||
UINT *session_id = NULL;
|
||||
UINT size = sizeof(session_id);
|
||||
DWORD size = sizeof(session_id);
|
||||
if (ms->nt->WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION,
|
||||
WTSSessionId, (wchar_t *)&session_id, &size) == false)
|
||||
{
|
||||
@ -6512,7 +6507,7 @@ bool MsInstallVLan9x(char *instance_name, MS_DRIVER_VER *ver)
|
||||
}
|
||||
|
||||
// Child window enumeration procedure
|
||||
bool CALLBACK MsEnumChildWindowProc(HWND hWnd, LPARAM lParam)
|
||||
BOOL CALLBACK MsEnumChildWindowProc(HWND hWnd, LPARAM lParam)
|
||||
{
|
||||
LIST *o = (LIST *)lParam;
|
||||
|
||||
@ -6561,7 +6556,7 @@ void MsAddWindowToList(LIST *o, HWND hWnd)
|
||||
}
|
||||
|
||||
// Enumeration of the window that the thread owns
|
||||
bool CALLBACK MsEnumThreadWindowProc(HWND hWnd, LPARAM lParam)
|
||||
BOOL CALLBACK MsEnumThreadWindowProc(HWND hWnd, LPARAM lParam)
|
||||
{
|
||||
LIST *o = (LIST *)lParam;
|
||||
|
||||
@ -6986,8 +6981,6 @@ bool MsCloseWarningWindow(NO_WARNING *nw, UINT thread_id)
|
||||
|
||||
if (hWnd != NULL)
|
||||
{
|
||||
OS_INFO *info = GetOsInfo();
|
||||
|
||||
if (MsIsNt())
|
||||
{
|
||||
// Get whether this window is a warning screen of driver
|
||||
@ -7592,7 +7585,7 @@ void MsTest()
|
||||
// Install a virtual LAN card (by calling Win32 API)
|
||||
bool MsInstallVLanInternal(wchar_t *infpath, wchar_t *hwid_w, char *hwid)
|
||||
{
|
||||
bool need_reboot;
|
||||
BOOL need_reboot;
|
||||
bool ret = false;
|
||||
wchar_t inf_class_name[MAX_PATH];
|
||||
GUID inf_class_guid;
|
||||
@ -7776,7 +7769,7 @@ HDEVINFO MsGetDevInfoFromDeviceId(SP_DEVINFO_DATA *dev_info_data, char *device_i
|
||||
bool MsIsDeviceRunning(HDEVINFO info, SP_DEVINFO_DATA *dev_info_data)
|
||||
{
|
||||
SP_DEVINFO_LIST_DETAIL_DATA detail;
|
||||
UINT status = 0, problem = 0;
|
||||
DWORD status = 0, problem = 0;
|
||||
// Validate arguments
|
||||
if (info == NULL || dev_info_data == NULL)
|
||||
{
|
||||
@ -8886,9 +8879,7 @@ void MsNormalizeInterfaceDefaultGatewaySettings(char *tag_name, char *instance_n
|
||||
{
|
||||
char *s = LIST_DATA(o, i);
|
||||
char tmp[MAX_SIZE];
|
||||
|
||||
char *cm = NULL;
|
||||
UINT current_metric;
|
||||
UINT current_metric = 0;
|
||||
|
||||
if (o2 != NULL)
|
||||
{
|
||||
@ -10158,7 +10149,7 @@ NT_API *MsLoadNtApiFunctions()
|
||||
GetProcAddress(nt->hAdvapi32, "LookupAccountNameA");
|
||||
|
||||
nt->SetNamedSecurityInfoW =
|
||||
(DWORD (__stdcall *)(LPWSTR,UINT,SECURITY_INFORMATION,PSID,PSID,PACL,PACL))
|
||||
(DWORD (__stdcall *)(LPWSTR,DWORD,SECURITY_INFORMATION,PSID,PSID,PACL,PACL))
|
||||
GetProcAddress(nt->hAdvapi32, "SetNamedSecurityInfoW");
|
||||
|
||||
nt->AddAccessAllowedAceEx =
|
||||
@ -10184,15 +10175,15 @@ NT_API *MsLoadNtApiFunctions()
|
||||
if (info.dwMajorVersion >= 5)
|
||||
{
|
||||
nt->UpdateDriverForPlugAndPlayDevicesW =
|
||||
(BOOL (__stdcall *)(HWND,wchar_t *,wchar_t *,UINT,BOOL *))
|
||||
(BOOL (__stdcall *)(HWND,LPCWSTR,LPCWSTR,DWORD,PBOOL))
|
||||
GetProcAddress(nt->hNewDev, "UpdateDriverForPlugAndPlayDevicesW");
|
||||
|
||||
nt->CM_Get_Device_ID_ExA =
|
||||
(UINT (__stdcall *)(DWORD,char *,UINT,UINT,HANDLE))
|
||||
(DWORD (__stdcall *)(DWORD,LPSTR,ULONG,ULONG,HANDLE))
|
||||
GetProcAddress(nt->hSetupApi, "CM_Get_Device_ID_ExA");
|
||||
|
||||
nt->CM_Get_DevNode_Status_Ex =
|
||||
(UINT (__stdcall *)(UINT *,UINT *,DWORD,UINT,HANDLE))
|
||||
(DWORD (__stdcall *)(PULONG,PULONG,DWORD,ULONG,HANDLE))
|
||||
GetProcAddress(nt->hSetupApi, "CM_Get_DevNode_Status_Ex");
|
||||
}
|
||||
|
||||
@ -10201,7 +10192,7 @@ NT_API *MsLoadNtApiFunctions()
|
||||
{
|
||||
// Terminal Services related API
|
||||
nt->WTSQuerySessionInformation =
|
||||
(UINT (__stdcall *)(HANDLE,DWORD,WTS_INFO_CLASS,wchar_t *,DWORD *))
|
||||
(BOOL (__stdcall *)(HANDLE,DWORD,WTS_INFO_CLASS,wchar_t *,DWORD *))
|
||||
GetProcAddress(nt->hWtsApi32, "WTSQuerySessionInformationW");
|
||||
nt->WTSFreeMemory =
|
||||
(void (__stdcall *)(void *))
|
||||
@ -10491,7 +10482,7 @@ bool MsIsAeroColor()
|
||||
// Get whether Aero is enabled
|
||||
bool MsIsAeroEnabled()
|
||||
{
|
||||
bool ret;
|
||||
BOOL ret;
|
||||
if (MsIsNt() == false)
|
||||
{
|
||||
return false;
|
||||
@ -10691,7 +10682,7 @@ TOKEN_LIST *MsRegEnumValueEx2(UINT root, char *keyname, bool force32bit, bool fo
|
||||
{
|
||||
char tmp[MAX_SIZE];
|
||||
UINT ret;
|
||||
UINT size = sizeof(tmp);
|
||||
DWORD size = sizeof(tmp);
|
||||
|
||||
Zero(tmp, sizeof(tmp));
|
||||
ret = RegEnumValue(h, i, tmp, &size, NULL, NULL, NULL, NULL);
|
||||
@ -10761,7 +10752,7 @@ TOKEN_LIST *MsRegEnumKeyEx2(UINT root, char *keyname, bool force32bit, bool forc
|
||||
{
|
||||
char tmp[MAX_SIZE];
|
||||
UINT ret;
|
||||
UINT size = sizeof(tmp);
|
||||
DWORD size = sizeof(tmp);
|
||||
FILETIME ft;
|
||||
|
||||
Zero(tmp, sizeof(tmp));
|
||||
@ -11022,7 +11013,7 @@ BUF *MsRegReadBinEx(UINT root, char *keyname, char *valuename, bool force32bit)
|
||||
BUF *MsRegReadBinEx2(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit)
|
||||
{
|
||||
char *ret;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
BUF *b;
|
||||
// Validate arguments
|
||||
if (keyname == NULL || valuename == NULL)
|
||||
@ -11031,7 +11022,7 @@ BUF *MsRegReadBinEx2(UINT root, char *keyname, char *valuename, bool force32bit,
|
||||
}
|
||||
|
||||
// Read the value
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, &ret, &type, &size, force32bit, force64bit) == false)
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, (void **)&ret, &type, &size, force32bit, force64bit) == false)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -11058,7 +11049,7 @@ UINT MsRegReadIntEx(UINT root, char *keyname, char *valuename, bool force32bit)
|
||||
UINT MsRegReadIntEx2(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit)
|
||||
{
|
||||
char *ret;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
UINT value;
|
||||
// Validate arguments
|
||||
if (keyname == NULL || valuename == NULL)
|
||||
@ -11067,7 +11058,7 @@ UINT MsRegReadIntEx2(UINT root, char *keyname, char *valuename, bool force32bit,
|
||||
}
|
||||
|
||||
// Read the value
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, &ret, &type, &size, force32bit, force64bit) == false)
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, (void **)&ret, &type, &size, force32bit, force64bit) == false)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -11127,7 +11118,7 @@ LIST *MsRegReadStrListEx2(UINT root, char *keyname, char *valuename, bool force3
|
||||
{
|
||||
LIST *o;
|
||||
char *ret;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
// Validate arguments
|
||||
if (keyname == NULL || valuename == NULL)
|
||||
{
|
||||
@ -11135,7 +11126,7 @@ LIST *MsRegReadStrListEx2(UINT root, char *keyname, char *valuename, bool force3
|
||||
}
|
||||
|
||||
// Read the value
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, &ret, &type, &size, force32bit, force64bit) == false)
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, (void **)&ret, &type, &size, force32bit, force64bit) == false)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -11182,7 +11173,7 @@ char *MsRegReadStrEx(UINT root, char *keyname, char *valuename, bool force32bit)
|
||||
char *MsRegReadStrEx2(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit)
|
||||
{
|
||||
char *ret;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
// Validate arguments
|
||||
if (keyname == NULL || valuename == NULL)
|
||||
{
|
||||
@ -11190,7 +11181,7 @@ char *MsRegReadStrEx2(UINT root, char *keyname, char *valuename, bool force32bit
|
||||
}
|
||||
|
||||
// Read the value
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, &ret, &type, &size, force32bit, force64bit) == false)
|
||||
if (MsRegReadValueEx2(root, keyname, valuename, (void **)&ret, &type, &size, force32bit, force64bit) == false)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -11246,7 +11237,7 @@ wchar_t *MsRegReadStrExW(UINT root, char *keyname, char *valuename, bool force32
|
||||
wchar_t *MsRegReadStrEx2W(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit)
|
||||
{
|
||||
wchar_t *ret;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
// Validate arguments
|
||||
if (keyname == NULL || valuename == NULL)
|
||||
{
|
||||
@ -11254,7 +11245,7 @@ wchar_t *MsRegReadStrEx2W(UINT root, char *keyname, char *valuename, bool force3
|
||||
}
|
||||
|
||||
// Read the value
|
||||
if (MsRegReadValueEx2W(root, keyname, valuename, &ret, &type, &size, force32bit, force64bit) == false)
|
||||
if (MsRegReadValueEx2W(root, keyname, valuename, (void **)&ret, &type, &size, force32bit, force64bit) == false)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -11279,7 +11270,7 @@ wchar_t *MsRegReadStrEx2W(UINT root, char *keyname, char *valuename, bool force3
|
||||
}
|
||||
|
||||
// Read the value
|
||||
bool MsRegReadValueEx2(UINT root, char *keyname, char *valuename, void **data, UINT *type, UINT *size, bool force32bit, bool force64bit)
|
||||
bool MsRegReadValueEx2(UINT root, char *keyname, char *valuename, void **data, DWORD *type, DWORD *size, bool force32bit, bool force64bit)
|
||||
{
|
||||
HKEY h;
|
||||
UINT ret;
|
||||
@ -11332,7 +11323,7 @@ bool MsRegReadValueEx2(UINT root, char *keyname, char *valuename, void **data, U
|
||||
|
||||
return true;
|
||||
}
|
||||
bool MsRegReadValueEx2W(UINT root, char *keyname, char *valuename, void **data, UINT *type, UINT *size, bool force32bit, bool force64bit)
|
||||
bool MsRegReadValueEx2W(UINT root, char *keyname, char *valuename, void **data, DWORD *type, DWORD *size, bool force32bit, bool force64bit)
|
||||
{
|
||||
HKEY h;
|
||||
UINT ret;
|
||||
@ -11349,7 +11340,7 @@ bool MsRegReadValueEx2W(UINT root, char *keyname, char *valuename, void **data,
|
||||
{
|
||||
bool ret;
|
||||
void *data_a = NULL;
|
||||
UINT type_a = 0, size_a = 0;
|
||||
DWORD type_a = 0, size_a = 0;
|
||||
|
||||
ret = MsRegReadValueEx2(root, keyname, valuename, &data_a, &type_a, &size_a, force32bit, force64bit);
|
||||
|
||||
@ -11435,7 +11426,7 @@ bool MsRegIsValueEx(UINT root, char *keyname, char *valuename, bool force32bit)
|
||||
bool MsRegIsValueEx2(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit)
|
||||
{
|
||||
HKEY h;
|
||||
UINT type, size;
|
||||
DWORD type, size;
|
||||
UINT ret;
|
||||
// Validate arguments
|
||||
if (keyname == NULL)
|
||||
@ -11969,7 +11960,7 @@ void MsInit()
|
||||
wchar_t *str_unicode;
|
||||
OSVERSIONINFO os;
|
||||
char tmp[MAX_SIZE];
|
||||
UINT size;
|
||||
DWORD size;
|
||||
if (ms != NULL)
|
||||
{
|
||||
// Already initialized
|
||||
@ -12269,7 +12260,7 @@ bool MsGetMsiInstalledDir(char *component_code, wchar_t *dir, UINT dir_size)
|
||||
wchar_t *component_code_w;
|
||||
bool ret = false;
|
||||
wchar_t tmp[MAX_SIZE];
|
||||
UINT sz = sizeof(tmp) / sizeof(wchar_t);
|
||||
DWORD sz = sizeof(tmp) / sizeof(wchar_t);
|
||||
// Validate arguments
|
||||
if (component_code == NULL || dir == NULL)
|
||||
{
|
||||
|
@ -11,13 +11,13 @@
|
||||
#ifndef _WINDEF_
|
||||
|
||||
typedef void *HWND;
|
||||
typedef unsigned long DWORD;
|
||||
|
||||
#endif // _WINDEF_
|
||||
|
||||
#ifndef MICROSOFT_H
|
||||
#define MICROSOFT_H
|
||||
|
||||
|
||||
// Constant for Event log
|
||||
#define MS_EVENTLOG_TYPE_INFORMATION 0
|
||||
#define MS_EVENTLOG_TYPE_WARNING 1
|
||||
@ -158,33 +158,32 @@ typedef struct NETWORK_WIN32_FUNCTIONS
|
||||
{
|
||||
HINSTANCE hIpHlpApi32;
|
||||
HINSTANCE hIcmp;
|
||||
UINT (WINAPI *DeleteIpForwardEntry)(PMIB_IPFORWARDROW);
|
||||
UINT (WINAPI *CreateIpForwardEntry)(PMIB_IPFORWARDROW);
|
||||
UINT (WINAPI *GetIpForwardTable)(PMIB_IPFORWARDTABLE, PULONG, BOOL);
|
||||
UINT (WINAPI *GetNetworkParams)(PFIXED_INFO, PULONG);
|
||||
DWORD (WINAPI *DeleteIpForwardEntry)(PMIB_IPFORWARDROW);
|
||||
DWORD (WINAPI *CreateIpForwardEntry)(PMIB_IPFORWARDROW);
|
||||
DWORD (WINAPI *GetIpForwardTable)(PMIB_IPFORWARDTABLE, PULONG, BOOL);
|
||||
DWORD (WINAPI *GetNetworkParams)(PFIXED_INFO, PULONG);
|
||||
ULONG (WINAPI *GetAdaptersAddresses)(ULONG, ULONG, PVOID, PIP_ADAPTER_ADDRESSES, PULONG);
|
||||
UINT (WINAPI *GetIfTable)(PMIB_IFTABLE, PULONG, BOOL);
|
||||
UINT (WINAPI *GetIfTable2)(void **);
|
||||
DWORD (WINAPI *GetIfTable)(PMIB_IFTABLE, PULONG, BOOL);
|
||||
DWORD (WINAPI *GetIfTable2)(void **);
|
||||
void (WINAPI *FreeMibTable)(PVOID);
|
||||
UINT (WINAPI *IpRenewAddress)(PIP_ADAPTER_INDEX_MAP);
|
||||
UINT (WINAPI *IpReleaseAddress)(PIP_ADAPTER_INDEX_MAP);
|
||||
UINT (WINAPI *GetInterfaceInfo)(PIP_INTERFACE_INFO, PULONG);
|
||||
UINT (WINAPI *GetAdaptersInfo)(PIP_ADAPTER_INFO, PULONG);
|
||||
UINT (WINAPI *GetExtendedTcpTable)(PVOID, PUINT, BOOL, ULONG, _TCP_TABLE_CLASS, ULONG);
|
||||
UINT (WINAPI *AllocateAndGetTcpExTableFromStack)(PVOID *, BOOL, HANDLE, UINT, UINT);
|
||||
UINT (WINAPI *GetTcpTable)(PMIB_TCPTABLE, PUINT, BOOL);
|
||||
UINT (WINAPI *NotifyRouteChange)(PHANDLE, LPOVERLAPPED);
|
||||
DWORD (WINAPI *IpRenewAddress)(PIP_ADAPTER_INDEX_MAP);
|
||||
DWORD (WINAPI *IpReleaseAddress)(PIP_ADAPTER_INDEX_MAP);
|
||||
DWORD (WINAPI *GetInterfaceInfo)(PIP_INTERFACE_INFO, PULONG);
|
||||
DWORD (WINAPI *GetAdaptersInfo)(PIP_ADAPTER_INFO, PULONG);
|
||||
DWORD (WINAPI *GetExtendedTcpTable)(PVOID, PDWORD, BOOL, ULONG, _TCP_TABLE_CLASS, ULONG);
|
||||
DWORD (WINAPI *AllocateAndGetTcpExTableFromStack)(PVOID *, BOOL, HANDLE, DWORD, DWORD);
|
||||
DWORD (WINAPI *GetTcpTable)(PMIB_TCPTABLE, PULONG, BOOL);
|
||||
DWORD (WINAPI *NotifyRouteChange)(PHANDLE, LPOVERLAPPED);
|
||||
BOOL (WINAPI *CancelIPChangeNotify)(LPOVERLAPPED);
|
||||
UINT (WINAPI *NhpAllocateAndGetInterfaceInfoFromStack)(IP_INTERFACE_NAME_INFO **,
|
||||
PUINT, BOOL, HANDLE, UINT);
|
||||
DWORD (WINAPI *NhpAllocateAndGetInterfaceInfoFromStack)(IP_INTERFACE_NAME_INFO **,
|
||||
PDWORD, BOOL, HANDLE, DWORD);
|
||||
HANDLE (WINAPI *IcmpCreateFile)();
|
||||
BOOL (WINAPI *IcmpCloseHandle)(HANDLE);
|
||||
UINT (WINAPI *IcmpSendEcho)(HANDLE, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION,
|
||||
LPVOID, UINT, UINT);
|
||||
DWORD (WINAPI *IcmpSendEcho)(HANDLE, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION,
|
||||
LPVOID, DWORD, DWORD);
|
||||
} NETWORK_WIN32_FUNCTIONS;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef MICROSOFT_C
|
||||
// WCM related code on Windows 8
|
||||
typedef enum _MS_WCM_PROPERTY
|
||||
@ -310,68 +309,68 @@ typedef struct NT_API
|
||||
HINSTANCE hDbgHelp;
|
||||
HINSTANCE hWcmapi;
|
||||
HINSTANCE hDwmapi;
|
||||
BOOL (WINAPI *OpenProcessToken)(HANDLE, UINT, PHANDLE);
|
||||
BOOL (WINAPI *OpenProcessToken)(HANDLE, DWORD, PHANDLE);
|
||||
BOOL (WINAPI *LookupPrivilegeValue)(char *, char *, PLUID);
|
||||
BOOL (WINAPI *AdjustTokenPrivileges)(HANDLE, BOOL, PTOKEN_PRIVILEGES, UINT, PTOKEN_PRIVILEGES, PUINT);
|
||||
BOOL (WINAPI *InitiateSystemShutdown)(LPTSTR, LPTSTR, UINT, BOOL, BOOL);
|
||||
BOOL (WINAPI *LogonUserW)(wchar_t *, wchar_t *, wchar_t *, UINT, UINT, HANDLE *);
|
||||
BOOL (WINAPI *LogonUserA)(char *, char *, char *, UINT, UINT, HANDLE *);
|
||||
BOOL (WINAPI *UpdateDriverForPlugAndPlayDevicesW)(HWND hWnd, wchar_t *hardware_id, wchar_t *inf_path, UINT flag, BOOL *need_reboot);
|
||||
UINT (WINAPI *CM_Get_DevNode_Status_Ex)(UINT *, UINT *, UINT, UINT, HANDLE);
|
||||
UINT (WINAPI *CM_Get_Device_ID_ExA)(UINT, char *, UINT, UINT, HANDLE);
|
||||
UINT (WINAPI *WTSQuerySessionInformation)(HANDLE, UINT, WTS_INFO_CLASS, wchar_t *, UINT *);
|
||||
BOOL (WINAPI *AdjustTokenPrivileges)(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
|
||||
BOOL (WINAPI *InitiateSystemShutdown)(LPTSTR, LPTSTR, DWORD, BOOL, BOOL);
|
||||
BOOL (WINAPI *LogonUserW)(wchar_t *, wchar_t *, wchar_t *, DWORD, DWORD, HANDLE *);
|
||||
BOOL (WINAPI *LogonUserA)(char *, char *, char *, DWORD, DWORD, HANDLE *);
|
||||
BOOL (WINAPI *UpdateDriverForPlugAndPlayDevicesW)(HWND hWnd, LPCWSTR hardware_id, LPCWSTR inf_path, DWORD flag, PBOOL need_reboot);
|
||||
DWORD (WINAPI *CM_Get_DevNode_Status_Ex)(PULONG, PULONG, DWORD, ULONG, HANDLE);
|
||||
DWORD (WINAPI *CM_Get_Device_ID_ExA)(DWORD, LPSTR, ULONG, ULONG, HANDLE);
|
||||
BOOL (WINAPI *WTSQuerySessionInformation)(HANDLE, DWORD, WTS_INFO_CLASS, wchar_t *, DWORD *);
|
||||
void (WINAPI *WTSFreeMemory)(void *);
|
||||
BOOL (WINAPI *WTSDisconnectSession)(HANDLE, UINT, BOOL);
|
||||
BOOL (WINAPI *WTSEnumerateSessions)(HANDLE, UINT, UINT, PWTS_SESSION_INFO *, UINT *);
|
||||
BOOL (WINAPI *WTSRegisterSessionNotification)(HWND, UINT);
|
||||
BOOL (WINAPI *WTSDisconnectSession)(HANDLE, DWORD, BOOL);
|
||||
BOOL (WINAPI *WTSEnumerateSessions)(HANDLE, DWORD, DWORD, PWTS_SESSION_INFO *, DWORD *);
|
||||
BOOL (WINAPI *WTSRegisterSessionNotification)(HWND, DWORD);
|
||||
BOOL (WINAPI *WTSUnRegisterSessionNotification)(HWND);
|
||||
SC_HANDLE (WINAPI *OpenSCManager)(LPCTSTR, LPCTSTR, UINT);
|
||||
SC_HANDLE (WINAPI *CreateServiceA)(SC_HANDLE, LPCTSTR, LPCTSTR, UINT, UINT, UINT, UINT, LPCTSTR, LPCTSTR, LPUINT, LPCTSTR, LPCTSTR, LPCTSTR);
|
||||
SC_HANDLE (WINAPI *CreateServiceW)(SC_HANDLE, LPCWSTR, LPCWSTR, UINT, UINT, UINT, UINT, LPCWSTR, LPCWSTR, LPUINT, LPCWSTR, LPCWSTR, LPCWSTR);
|
||||
BOOL (WINAPI *ChangeServiceConfig2)(SC_HANDLE, UINT, LPVOID);
|
||||
SC_HANDLE (WINAPI *OpenSCManager)(LPCTSTR, LPCTSTR, DWORD);
|
||||
SC_HANDLE (WINAPI *CreateServiceA)(SC_HANDLE, LPCTSTR, LPCTSTR, DWORD, DWORD, DWORD, DWORD, LPCTSTR, LPCTSTR, LPDWORD, LPCTSTR, LPCTSTR, LPCTSTR);
|
||||
SC_HANDLE (WINAPI *CreateServiceW)(SC_HANDLE, LPCWSTR, LPCWSTR, DWORD, DWORD, DWORD, DWORD, LPCWSTR, LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR);
|
||||
BOOL (WINAPI *ChangeServiceConfig2)(SC_HANDLE, DWORD, LPVOID);
|
||||
BOOL (WINAPI *CloseServiceHandle)(SC_HANDLE);
|
||||
SC_HANDLE (WINAPI *OpenService)(SC_HANDLE, LPCTSTR, UINT);
|
||||
SC_HANDLE (WINAPI *OpenService)(SC_HANDLE, LPCTSTR, DWORD);
|
||||
BOOL (WINAPI *QueryServiceStatus)(SC_HANDLE, LPSERVICE_STATUS);
|
||||
BOOL (WINAPI *StartService)(SC_HANDLE, UINT, LPCTSTR);
|
||||
BOOL (WINAPI *ControlService)(SC_HANDLE, UINT, LPSERVICE_STATUS);
|
||||
BOOL (WINAPI *StartService)(SC_HANDLE, DWORD, LPCTSTR);
|
||||
BOOL (WINAPI *ControlService)(SC_HANDLE, DWORD, LPSERVICE_STATUS);
|
||||
BOOL (WINAPI *SetServiceStatus)(SERVICE_STATUS_HANDLE, LPSERVICE_STATUS);
|
||||
SERVICE_STATUS_HANDLE (WINAPI *RegisterServiceCtrlHandler)(LPCTSTR, LPHANDLER_FUNCTION);
|
||||
BOOL (WINAPI *StartServiceCtrlDispatcher)(CONST LPSERVICE_TABLE_ENTRY);
|
||||
BOOL (WINAPI *DeleteService)(SC_HANDLE);
|
||||
BOOL (WINAPI *EnumProcesses)(UINT *, UINT, UINT *);
|
||||
BOOL (WINAPI *EnumProcessModules)(HANDLE, HMODULE *, UINT, UINT *);
|
||||
UINT (WINAPI *GetModuleFileNameExA)(HANDLE, HMODULE, LPSTR, UINT);
|
||||
UINT (WINAPI *GetModuleFileNameExW)(HANDLE, HMODULE, LPWSTR, UINT);
|
||||
UINT (WINAPI *GetProcessImageFileNameA)(HANDLE, LPSTR, UINT);
|
||||
UINT (WINAPI *GetProcessImageFileNameW)(HANDLE, LPWSTR, UINT);
|
||||
BOOL (WINAPI *QueryFullProcessImageNameA)(HANDLE, UINT, LPSTR, PUINT);
|
||||
BOOL (WINAPI *QueryFullProcessImageNameW)(HANDLE, UINT, LPWSTR, PUINT);
|
||||
LONG (WINAPI *RegDeleteKeyExA)(HKEY, LPCTSTR, REGSAM, UINT);
|
||||
BOOL (WINAPI *EnumProcesses)(DWORD *, DWORD, DWORD *);
|
||||
BOOL (WINAPI *EnumProcessModules)(HANDLE, HMODULE *, DWORD, DWORD *);
|
||||
DWORD (WINAPI *GetModuleFileNameExA)(HANDLE, HMODULE, LPSTR, DWORD);
|
||||
DWORD (WINAPI *GetModuleFileNameExW)(HANDLE, HMODULE, LPWSTR, DWORD);
|
||||
DWORD (WINAPI *GetProcessImageFileNameA)(HANDLE, LPSTR, DWORD);
|
||||
DWORD (WINAPI *GetProcessImageFileNameW)(HANDLE, LPWSTR, DWORD);
|
||||
BOOL (WINAPI *QueryFullProcessImageNameA)(HANDLE, DWORD, LPSTR, PDWORD);
|
||||
BOOL (WINAPI *QueryFullProcessImageNameW)(HANDLE, DWORD, LPWSTR, PDWORD);
|
||||
LONG (WINAPI *RegDeleteKeyExA)(HKEY, LPCTSTR, REGSAM, DWORD);
|
||||
BOOL (WINAPI *IsWow64Process)(HANDLE, BOOL *);
|
||||
void (WINAPI *GetNativeSystemInfo)(SYSTEM_INFO *);
|
||||
BOOL (WINAPI *DuplicateTokenEx)(HANDLE, UINT, SECURITY_ATTRIBUTES *, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, HANDLE *);
|
||||
BOOL (WINAPI *DuplicateTokenEx)(HANDLE, DWORD, SECURITY_ATTRIBUTES *, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, HANDLE *);
|
||||
BOOL (WINAPI *ConvertStringSidToSidA)(LPCSTR, PSID *);
|
||||
BOOL (WINAPI *SetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void *, UINT);
|
||||
BOOL (WINAPI *GetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void *, UINT, PUINT);
|
||||
BOOL (WINAPI *CreateProcessAsUserA)(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, UINT, void *, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
|
||||
BOOL (WINAPI *CreateProcessAsUserW)(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, UINT, void *, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
|
||||
BOOL (WINAPI *LookupAccountSidA)(LPCSTR,PSID,LPSTR,LPUINT,LPSTR,LPUINT,PSID_NAME_USE);
|
||||
BOOL (WINAPI *LookupAccountNameA)(LPCSTR,LPCSTR,PSID,LPUINT,LPSTR,LPUINT,PSID_NAME_USE);
|
||||
BOOL (WINAPI *SetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void *, DWORD);
|
||||
BOOL (WINAPI *GetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void *, DWORD, PDWORD);
|
||||
BOOL (WINAPI *CreateProcessAsUserA)(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, void *, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
|
||||
BOOL (WINAPI *CreateProcessAsUserW)(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, void *, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
|
||||
BOOL (WINAPI *LookupAccountSidA)(LPCSTR,PSID,LPSTR,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
|
||||
BOOL (WINAPI *LookupAccountNameA)(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
|
||||
BOOL (WINAPI *GetUserNameExA)(EXTENDED_NAME_FORMAT, LPSTR, PULONG);
|
||||
BOOL (WINAPI *GetUserNameExW)(EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
|
||||
BOOL (WINAPI *SwitchDesktop)(HDESK);
|
||||
HDESK (WINAPI *OpenDesktopA)(LPTSTR, UINT, BOOL, ACCESS_MASK);
|
||||
HDESK (WINAPI *OpenDesktopA)(LPTSTR, DWORD, BOOL, ACCESS_MASK);
|
||||
BOOL (WINAPI *CloseDesktop)(HDESK);
|
||||
BOOL (WINAPI *SetProcessShutdownParameters)(UINT, UINT);
|
||||
BOOL (WINAPI *SetProcessShutdownParameters)(DWORD, DWORD);
|
||||
HANDLE (WINAPI *RegisterEventSourceW)(LPCWSTR, LPCWSTR);
|
||||
BOOL (WINAPI *ReportEventW)(HANDLE, WORD, WORD, UINT, PSID, WORD, UINT, LPCWSTR *, LPVOID);
|
||||
BOOL (WINAPI *ReportEventW)(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR *, LPVOID);
|
||||
BOOL (WINAPI *DeregisterEventSource)(HANDLE);
|
||||
BOOL (WINAPI *Wow64DisableWow64FsRedirection)(void **);
|
||||
BOOLEAN (WINAPI *Wow64EnableWow64FsRedirection)(BOOLEAN);
|
||||
BOOL (WINAPI *Wow64RevertWow64FsRedirection)(void *);
|
||||
BOOL (WINAPI *GetFileInformationByHandle)(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
|
||||
HANDLE (WINAPI *GetProcessHeap)();
|
||||
BOOL (WINAPI *MiniDumpWriteDump)(HANDLE, UINT, HANDLE, MINIDUMP_TYPE,
|
||||
BOOL (WINAPI *MiniDumpWriteDump)(HANDLE, DWORD, HANDLE, MINIDUMP_TYPE,
|
||||
PMINIDUMP_EXCEPTION_INFORMATION, PMINIDUMP_USER_STREAM_INFORMATION,
|
||||
PMINIDUMP_CALLBACK_INFORMATION);
|
||||
BOOL (WINAPI *AllocateLocallyUniqueId)(PLUID);
|
||||
@ -382,14 +381,14 @@ typedef struct NT_API
|
||||
PQUOTA_LIMITS, PNTSTATUS);
|
||||
NTSTATUS (NTAPI *LsaDeregisterLogonProcess)(HANDLE);
|
||||
NTSTATUS (NTAPI *LsaFreeReturnBuffer)(PVOID);
|
||||
UINT (WINAPI *WcmQueryProperty)(const GUID *, LPCWSTR, MS_WCM_PROPERTY, PVOID, PUINT, PBYTE *);
|
||||
UINT (WINAPI *WcmSetProperty)(const GUID *, LPCWSTR, MS_WCM_PROPERTY, PVOID, UINT, const BYTE *);
|
||||
DWORD (WINAPI *WcmQueryProperty)(const GUID *, LPCWSTR, MS_WCM_PROPERTY, PVOID, PDWORD, PBYTE *);
|
||||
DWORD (WINAPI *WcmSetProperty)(const GUID *, LPCWSTR, MS_WCM_PROPERTY, PVOID, DWORD, const BYTE *);
|
||||
void (WINAPI *WcmFreeMemory)(PVOID);
|
||||
UINT (WINAPI *WcmGetProfileList)(PVOID, MS_WCM_PROFILE_INFO_LIST **ppProfileList);
|
||||
UINT (WINAPI *SetNamedSecurityInfoW)(LPWSTR, UINT, SECURITY_INFORMATION, PSID, PSID, PACL, PACL);
|
||||
BOOL (WINAPI *AddAccessAllowedAceEx)(PACL, UINT, UINT, UINT, PSID);
|
||||
DWORD (WINAPI *WcmGetProfileList)(PVOID, MS_WCM_PROFILE_INFO_LIST **ppProfileList);
|
||||
DWORD (WINAPI *SetNamedSecurityInfoW)(LPWSTR, DWORD, SECURITY_INFORMATION, PSID, PSID, PACL, PACL);
|
||||
BOOL (WINAPI *AddAccessAllowedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
|
||||
HRESULT (WINAPI *DwmIsCompositionEnabled)(BOOL *);
|
||||
BOOL (WINAPI *GetComputerNameExW)(COMPUTER_NAME_FORMAT, LPWSTR, LPUINT);
|
||||
BOOL (WINAPI *GetComputerNameExW)(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
|
||||
LONG (WINAPI *RegLoadKeyW)(HKEY, LPCWSTR, LPCWSTR);
|
||||
LONG (WINAPI *RegUnLoadKeyW)(HKEY, LPCWSTR);
|
||||
} NT_API;
|
||||
@ -551,8 +550,8 @@ bool MsRegIsValue(UINT root, char *keyname, char *valuename);
|
||||
bool MsRegIsValueEx(UINT root, char *keyname, char *valuename, bool force32bit);
|
||||
bool MsRegIsValueEx2(UINT root, char *keyname, char *valuename, bool force32bit, bool force64bit);
|
||||
|
||||
bool MsRegReadValueEx2(UINT root, char *keyname, char *valuename, void **data, UINT *type, UINT *size, bool force32bit, bool force64bit);
|
||||
bool MsRegReadValueEx2W(UINT root, char *keyname, char *valuename, void **data, UINT *type, UINT *size, bool force32bit, bool force64bit);
|
||||
bool MsRegReadValueEx2(UINT root, char *keyname, char *valuename, void **data, DWORD *type, DWORD *size, bool force32bit, bool force64bit);
|
||||
bool MsRegReadValueEx2W(UINT root, char *keyname, char *valuename, void **data, DWORD *type, DWORD *size, bool force32bit, bool force64bit);
|
||||
|
||||
char *MsRegReadStr(UINT root, char *keyname, char *valuename);
|
||||
char *MsRegReadStrEx(UINT root, char *keyname, char *valuename, bool force32bit);
|
||||
@ -946,8 +945,8 @@ bool MsStartDevice(HDEVINFO info, SP_DEVINFO_DATA *dev_info_data);
|
||||
bool MsStopDevice(HDEVINFO info, SP_DEVINFO_DATA *dev_info_data);
|
||||
bool MsDeleteDevice(HDEVINFO info, SP_DEVINFO_DATA *dev_info_data);
|
||||
bool MsIsDeviceRunning(HDEVINFO info, SP_DEVINFO_DATA *dev_info_data);
|
||||
void CALLBACK MsServiceDispatcher(UINT argc, LPTSTR *argv);
|
||||
void CALLBACK MsServiceHandler(UINT opcode);
|
||||
void CALLBACK MsServiceDispatcher(DWORD argc, LPTSTR *argv);
|
||||
void CALLBACK MsServiceHandler(DWORD opcode);
|
||||
bool MsServiceStopProc();
|
||||
void MsServiceStoperMainThread(THREAD *t, void *p);
|
||||
void MsServiceStarterMainThread(THREAD *t, void *p);
|
||||
@ -960,13 +959,13 @@ void MsHideIconOnTray();
|
||||
void MsUserModeTrayMenu(HWND hWnd);
|
||||
bool MsAppendMenu(HMENU hMenu, UINT flags, UINT_PTR id, wchar_t *str);
|
||||
bool MsInsertMenu(HMENU hMenu, UINT pos, UINT flags, UINT_PTR id_new_item, wchar_t *lp_new_item);
|
||||
bool CALLBACK MsEnumChildWindowProc(HWND hWnd, LPARAM lParam);
|
||||
BOOL CALLBACK MsEnumChildWindowProc(HWND hWnd, LPARAM lParam);
|
||||
BOOL CALLBACK EnumTopWindowProc(HWND hWnd, LPARAM lParam);
|
||||
bool CALLBACK MsEnumThreadWindowProc(HWND hWnd, LPARAM lParam);
|
||||
BOOL CALLBACK MsEnumThreadWindowProc(HWND hWnd, LPARAM lParam);
|
||||
HANDLE MsCreateUserToken();
|
||||
SID *MsGetSidFromAccountName(char *name);
|
||||
void MsFreeSid(SID *sid);
|
||||
bool CALLBACK MsEnumResourcesInternalProc(HMODULE hModule, const char *type, char *name, LONG_PTR lParam);
|
||||
BOOL CALLBACK MsEnumResourcesInternalProc(HMODULE hModule, const char *type, char *name, LONG_PTR lParam);
|
||||
LRESULT CALLBACK MsSuspendHandlerWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
void MsSuspendHandlerThreadProc(THREAD *thread, void *param);
|
||||
|
||||
|
@ -98,7 +98,6 @@ static IP unix_dns_server;
|
||||
static LIST *HostCacheList = NULL;
|
||||
static LIST *WaitThreadList = NULL;
|
||||
static bool disable_cache = false;
|
||||
static bool NetworkReleaseMode = false; // Network release mode
|
||||
static UCHAR machine_ip_process_hash[SHA1_SIZE];
|
||||
static LOCK *machine_ip_process_hash_lock = NULL;
|
||||
static LOCK *current_global_ip_lock = NULL;
|
||||
@ -3858,7 +3857,6 @@ void RUDPMainThread(THREAD *thread, void *param)
|
||||
{
|
||||
if (p->Size >= (ip_header_size + sizeof(ICMP_HEADER) + sizeof(ICMP_ECHO) + SHA1_SIZE))
|
||||
{
|
||||
IPV4_HEADER *ip_header = (IPV4_HEADER *)(((UCHAR *)p->Data) + 0);
|
||||
ICMP_HEADER *icmp_header = (ICMP_HEADER *)(((UCHAR *)p->Data) + ip_header_size);
|
||||
ICMP_ECHO *echo_header = (ICMP_ECHO *)(((UCHAR *)p->Data) + ip_header_size + sizeof(ICMP_HEADER));
|
||||
|
||||
@ -6194,7 +6192,7 @@ bool IsRouteChanged(ROUTE_CHANGE *r)
|
||||
ROUTE_CHANGE *Win32NewRouteChange()
|
||||
{
|
||||
ROUTE_CHANGE *r;
|
||||
bool ret;
|
||||
BOOL ret;
|
||||
|
||||
if (MsIsNt() == false)
|
||||
{
|
||||
@ -6285,7 +6283,7 @@ SOCKET Win32Accept(SOCK *sock, SOCKET s, struct sockaddr *addr, int *addrlen, bo
|
||||
UINT num_error = 0;
|
||||
UINT zero = 0;
|
||||
UINT tmp = 0;
|
||||
UINT ret_size = 0;
|
||||
DWORD ret_size = 0;
|
||||
// Validate arguments
|
||||
if (sock == NULL || s == INVALID_SOCKET)
|
||||
{
|
||||
@ -9017,7 +9015,7 @@ bool Win32GetAdapterFromGuid(void *a, char *guid)
|
||||
{
|
||||
bool ret = false;
|
||||
IP_INTERFACE_INFO *info;
|
||||
UINT size;
|
||||
ULONG size;
|
||||
int i;
|
||||
LIST *o;
|
||||
wchar_t tmp[MAX_SIZE];
|
||||
@ -9089,7 +9087,7 @@ void Win32FlushDnsCache()
|
||||
void Win32RenewDhcp9x(UINT if_id)
|
||||
{
|
||||
IP_INTERFACE_INFO *info;
|
||||
UINT size;
|
||||
ULONG size;
|
||||
int i;
|
||||
LIST *o;
|
||||
// Validate arguments
|
||||
@ -9145,7 +9143,7 @@ void Win32RenewDhcp9x(UINT if_id)
|
||||
void Win32ReleaseDhcp9x(UINT if_id, bool wait)
|
||||
{
|
||||
IP_INTERFACE_INFO *info;
|
||||
UINT size;
|
||||
ULONG size;
|
||||
int i;
|
||||
LIST *o;
|
||||
// Validate arguments
|
||||
@ -9202,7 +9200,7 @@ char **Win32EnumVLan(char *tag_name)
|
||||
{
|
||||
MIB_IFTABLE *p;
|
||||
UINT ret;
|
||||
UINT size_needed;
|
||||
ULONG size_needed;
|
||||
UINT num_retry = 0;
|
||||
UINT i;
|
||||
LIST *o;
|
||||
@ -9281,8 +9279,8 @@ FAILED:
|
||||
UINT Win32GetVLanInterfaceID(char *instance_name)
|
||||
{
|
||||
MIB_IFTABLE *p;
|
||||
UINT ret;
|
||||
UINT size_needed;
|
||||
BOOL ret;
|
||||
ULONG size_needed;
|
||||
UINT num_retry = 0;
|
||||
UINT i;
|
||||
char ps_miniport_str[MAX_SIZE];
|
||||
@ -9373,7 +9371,7 @@ bool Win32GetDnsSuffix(char *domain, UINT size)
|
||||
{
|
||||
IP_ADAPTER_ADDRESSES_XP *info;
|
||||
IP_ADAPTER_ADDRESSES_XP *cur;
|
||||
UINT info_size;
|
||||
ULONG info_size;
|
||||
bool ret = false;
|
||||
// Validate arguments
|
||||
ClearStr(domain, size);
|
||||
@ -9422,7 +9420,7 @@ bool Win32GetDnsSuffix(char *domain, UINT size)
|
||||
bool Win32GetDefaultDns(IP *ip, char *domain, UINT size)
|
||||
{
|
||||
FIXED_INFO *info;
|
||||
UINT info_size;
|
||||
ULONG info_size;
|
||||
char *dns_name;
|
||||
// Validate arguments
|
||||
ClearStr(domain, size);
|
||||
@ -9448,12 +9446,6 @@ bool Win32GetDefaultDns(IP *ip, char *domain, UINT size)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (info->DnsServerList.IpAddress.String == NULL)
|
||||
{
|
||||
Free(info);
|
||||
return false;
|
||||
}
|
||||
|
||||
dns_name = info->DnsServerList.IpAddress.String;
|
||||
StrToIP(ip, dns_name);
|
||||
|
||||
@ -9553,7 +9545,7 @@ ROUTE_TABLE *Win32GetRouteTable()
|
||||
ROUTE_TABLE *t = ZeroMallocFast(sizeof(ROUTE_TABLE));
|
||||
MIB_IPFORWARDTABLE *p;
|
||||
UINT ret;
|
||||
UINT size_needed;
|
||||
ULONG size_needed;
|
||||
UINT num_retry = 0;
|
||||
LIST *o;
|
||||
UINT i;
|
||||
@ -11327,10 +11319,6 @@ UINT SendTo6Ex(SOCK *sock, IP *dest_addr, UINT dest_port, void *data, UINT size,
|
||||
{
|
||||
return SOCK_LATER;
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT e = WSAGetLastError();
|
||||
}
|
||||
#else // OS_WIN32
|
||||
if (errno == ECONNREFUSED || errno == ECONNRESET || errno == EMSGSIZE || errno == ENOBUFS || errno == ENOMEM || errno == EINTR)
|
||||
{
|
||||
@ -13165,7 +13153,6 @@ SOCK *Accept6(SOCK *sock)
|
||||
SOCKET s, new_socket;
|
||||
int size;
|
||||
struct sockaddr_in6 addr;
|
||||
bool true_flag = true;
|
||||
// Validate arguments
|
||||
if (sock == NULL)
|
||||
{
|
||||
@ -13240,6 +13227,7 @@ SOCK *Accept6(SOCK *sock)
|
||||
ret->SecureMode = false;
|
||||
|
||||
// Configuring the TCP options
|
||||
bool true_flag = true;
|
||||
(void)setsockopt(ret->socket, IPPROTO_TCP, TCP_NODELAY, (char *)&true_flag, sizeof(bool));
|
||||
|
||||
// Initialize the time-out value
|
||||
@ -13281,7 +13269,6 @@ SOCK *ListenEx62(UINT port, bool local_only, bool enable_ca)
|
||||
SOCK *sock;
|
||||
struct sockaddr_in6 addr;
|
||||
struct in6_addr in;
|
||||
bool true_flag = true;
|
||||
IP localhost;
|
||||
UINT backlog = SOMAXCONN;
|
||||
// Validate arguments
|
||||
@ -13320,12 +13307,10 @@ SOCK *ListenEx62(UINT port, bool local_only, bool enable_ca)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool true_flag = true;
|
||||
#ifdef OS_UNIX
|
||||
// It is necessary to set the IPv6 Only flag on a UNIX system
|
||||
(void)setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &true_flag, sizeof(true_flag));
|
||||
#endif // OS_UNIX
|
||||
|
||||
#ifdef OS_UNIX
|
||||
// This only have enabled for UNIX system since there is a bug
|
||||
// in the implementation of REUSEADDR in Windows OS
|
||||
(void)setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&true_flag, sizeof(bool));
|
||||
@ -13389,7 +13374,6 @@ SOCK *ListenEx2(UINT port, bool local_only, bool enable_ca, IP *listen_ip)
|
||||
SOCK *sock;
|
||||
struct sockaddr_in addr;
|
||||
struct in_addr in;
|
||||
bool true_flag = true;
|
||||
IP localhost;
|
||||
UINT backlog = SOMAXCONN;
|
||||
// Validate arguments
|
||||
@ -13436,6 +13420,7 @@ SOCK *ListenEx2(UINT port, bool local_only, bool enable_ca, IP *listen_ip)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool true_flag = true;
|
||||
#ifdef OS_UNIX
|
||||
// This only have enabled for UNIX system since there is a bug
|
||||
// in the implementation of REUSEADDR in Windows OS
|
||||
@ -13488,8 +13473,6 @@ SOCK *ListenEx2(UINT port, bool local_only, bool enable_ca, IP *listen_ip)
|
||||
void Disconnect(SOCK *sock)
|
||||
{
|
||||
SOCKET s;
|
||||
bool true_flag = true;
|
||||
bool false_flag = false;
|
||||
// Validate arguments
|
||||
if (sock == NULL)
|
||||
{
|
||||
@ -13562,8 +13545,10 @@ void Disconnect(SOCK *sock)
|
||||
{
|
||||
// Forced disconnection flag
|
||||
#ifdef SO_DONTLINGER
|
||||
bool true_flag = true;
|
||||
(void)setsockopt(sock->socket, SOL_SOCKET, SO_DONTLINGER, (char *)&true_flag, sizeof(bool));
|
||||
#else // SO_DONTLINGER
|
||||
bool false_flag = false;
|
||||
(void)setsockopt(sock->socket, SOL_SOCKET, SO_LINGER, (char *)&false_flag, sizeof(bool));
|
||||
#endif // SO_DONTLINGER
|
||||
// setsockopt(sock->socket, SOL_SOCKET, SO_REUSEADDR, (char *)&true_flag, sizeof(bool));
|
||||
@ -13888,7 +13873,7 @@ int connect_timeout(SOCKET s, struct sockaddr *addr, int size, int timeout, bool
|
||||
WSAEVENT hEvent;
|
||||
UINT zero = 0;
|
||||
UINT tmp = 0;
|
||||
UINT ret_size = 0;
|
||||
DWORD ret_size = 0;
|
||||
bool is_nt = false;
|
||||
// Validate arguments
|
||||
if (s == INVALID_SOCKET || addr == NULL)
|
||||
@ -14329,8 +14314,6 @@ SOCK *ConnectEx4(char *hostname, UINT port, UINT timeout, bool *cancel_flag, cha
|
||||
struct linger ling;
|
||||
IP ip4;
|
||||
IP ip6;
|
||||
bool true_flag = true;
|
||||
bool false_flag = false;
|
||||
char tmp[MAX_SIZE];
|
||||
IP current_ip;
|
||||
bool is_ipv6 = false;
|
||||
@ -14798,10 +14781,13 @@ SOCK *ConnectEx4(char *hostname, UINT port, UINT timeout, bool *cancel_flag, cha
|
||||
// Debug("new socket: %u\n", s);
|
||||
|
||||
Zero(&ling, sizeof(ling));
|
||||
|
||||
bool true_flag = true;
|
||||
// Forced disconnection flag
|
||||
#ifdef SO_DONTLINGER
|
||||
(void)setsockopt(sock->socket, SOL_SOCKET, SO_DONTLINGER, (char *)&true_flag, sizeof(bool));
|
||||
#else // SO_DONTLINGER
|
||||
bool false_flag = false;
|
||||
(void)setsockopt(sock->socket, SOL_SOCKET, SO_LINGER, (char *)&false_flag, sizeof(bool));
|
||||
#endif // SO_DONTLINGER
|
||||
// setsockopt(sock->socket, SOL_SOCKET, SO_REUSEADDR, (char *)&true_flag, sizeof(bool));
|
||||
|
Loading…
Reference in New Issue
Block a user