mirror of
https://github.com/reactos/reactos.git
synced 2025-05-06 18:31:26 +00:00
- npapi.h: Correct definitions of function pointer prototypes.
- ntifs.h & cmdata.h : Don't use array size of 0. Fixes C4200. - wdm.h: Correct definition of 64-bit SLIST_HEADER. Add explicit casts to avoid /W4 warnings in RtlEnlargedUnsignedDivide. - winddk.h: Add MSVC intrinsic __readfsbyte for KeGetCurrentProcessorNumber. Misc fixes. - Fix various msvc issues in cmd, setupapi, usetup, win32csr, winlogon, msafd, ws2_32 and ext2lib, most notably: - cmd & doskey: Don't use fishy gcc extension to allocate variable-sized arrays from the stack. Use the heap instead. - Disable warning C4733 for mingw_main too (was only done for mingw_wmain previously). - advapi32: Pass the correct handles to TRACE -- spotted by MSVC. - Set the specified register in ecx in MSVC versions of Ke386Wrmsr and Ke386Rdmsr instead of reading from/writing to a random MSR. Yay /W4. svn path=/trunk/; revision=42342
This commit is contained in:
parent
3283ffdef8
commit
93109445ba
27 changed files with 181 additions and 100 deletions
|
@ -19,15 +19,27 @@ static VOID SetInsert(DWORD dwFlag)
|
|||
static VOID PrintHistory(VOID)
|
||||
{
|
||||
DWORD Length = GetConsoleCommandHistoryLength(pszExeName);
|
||||
DWORD BufferLength;
|
||||
PBYTE HistBuf;
|
||||
TCHAR *Hist;
|
||||
TCHAR *HistEnd;
|
||||
|
||||
/* On Windows, the ANSI version of GetConsoleCommandHistory requires
|
||||
* a buffer twice as large as the actual history length. */
|
||||
BYTE HistBuf[Length * (sizeof(WCHAR) / sizeof(TCHAR))];
|
||||
TCHAR *Hist = (TCHAR *)HistBuf;
|
||||
TCHAR *HistEnd = (TCHAR *)&HistBuf[Length];
|
||||
BufferLength = Length * (sizeof(WCHAR) / sizeof(TCHAR)) * sizeof(BYTE);
|
||||
|
||||
if (GetConsoleCommandHistory(Hist, sizeof HistBuf, pszExeName))
|
||||
HistBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
BufferLength);
|
||||
if (!HistBuf) return;
|
||||
Hist = (TCHAR *)HistBuf;
|
||||
HistEnd = (TCHAR *)&HistBuf[Length];
|
||||
|
||||
if (GetConsoleCommandHistory(Hist, BufferLength, pszExeName))
|
||||
for (; Hist < HistEnd; Hist += _tcslen(Hist) + 1)
|
||||
_tprintf(_T("%s\n"), Hist);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, HistBuf);
|
||||
}
|
||||
|
||||
static INT SetMacro(LPTSTR definition)
|
||||
|
@ -65,23 +77,39 @@ static INT SetMacro(LPTSTR definition)
|
|||
static VOID PrintMacros(LPTSTR pszExeName, LPTSTR Indent)
|
||||
{
|
||||
DWORD Length = GetConsoleAliasesLength(pszExeName);
|
||||
BYTE AliasBuf[Length];
|
||||
TCHAR *Alias = (TCHAR *)AliasBuf;
|
||||
TCHAR *AliasEnd = (TCHAR *)&AliasBuf[Length];
|
||||
PBYTE AliasBuf;
|
||||
TCHAR *Alias;
|
||||
TCHAR *AliasEnd;
|
||||
|
||||
if (GetConsoleAliases(Alias, sizeof AliasBuf, pszExeName))
|
||||
AliasBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
Length * sizeof(BYTE));
|
||||
if (!AliasBuf) return;
|
||||
Alias = (TCHAR *)AliasBuf;
|
||||
AliasEnd = (TCHAR *)&AliasBuf[Length];
|
||||
|
||||
if (GetConsoleAliases(Alias, Length * sizeof(BYTE), pszExeName))
|
||||
for (; Alias < AliasEnd; Alias += _tcslen(Alias) + 1)
|
||||
_tprintf(_T("%s%s\n"), Indent, Alias);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, AliasBuf);
|
||||
}
|
||||
|
||||
static VOID PrintAllMacros(VOID)
|
||||
{
|
||||
DWORD Length = GetConsoleAliasExesLength();
|
||||
BYTE ExeNameBuf[Length];
|
||||
TCHAR *ExeName = (TCHAR *)ExeNameBuf;
|
||||
TCHAR *ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
|
||||
PBYTE ExeNameBuf;
|
||||
TCHAR *ExeName;
|
||||
TCHAR *ExeNameEnd;
|
||||
|
||||
if (GetConsoleAliasExes(ExeName, sizeof ExeNameBuf))
|
||||
ExeNameBuf = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
Length * sizeof(BYTE));
|
||||
if (!ExeNameBuf) return;
|
||||
ExeName = (TCHAR *)ExeNameBuf;
|
||||
ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
|
||||
|
||||
if (GetConsoleAliasExes(ExeName, Length * sizeof(BYTE)))
|
||||
{
|
||||
for (; ExeName < ExeNameEnd; ExeName += _tcslen(ExeName) + 1)
|
||||
{
|
||||
|
@ -90,6 +118,8 @@ static VOID PrintAllMacros(VOID)
|
|||
_tprintf(_T("\n"));
|
||||
}
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, ExeNameBuf);
|
||||
}
|
||||
|
||||
static VOID ReadFromFile(LPTSTR param)
|
||||
|
|
|
@ -3133,6 +3133,7 @@ PAGE_NUMBER
|
|||
FileCopyPage(PINPUT_RECORD Ir)
|
||||
{
|
||||
COPYCONTEXT CopyContext;
|
||||
unsigned int mem_bar_width;
|
||||
|
||||
MUIDisplayPage(FILE_COPY_PAGE);
|
||||
|
||||
|
@ -3153,7 +3154,7 @@ FileCopyPage(PINPUT_RECORD Ir)
|
|||
MUIGetString(STRING_SETUPCOPYINGFILES));
|
||||
|
||||
// fit memory bars to screen width, distribute them uniform
|
||||
unsigned int mem_bar_width = (xScreen - 26) / 5;
|
||||
mem_bar_width = (xScreen - 26) / 5;
|
||||
mem_bar_width -= mem_bar_width % 2; // make even
|
||||
/* ATTENTION: The following progress bars are debug stuff, which should not be translated!! */
|
||||
/* Create the paged pool progress bar */
|
||||
|
|
|
@ -484,15 +484,24 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest, PARSED_COMMAND *Cmd)
|
|||
INT
|
||||
DoCommand(LPTSTR first, LPTSTR rest, PARSED_COMMAND *Cmd)
|
||||
{
|
||||
TCHAR com[_tcslen(first) + _tcslen(rest) + 2]; /* full command line */
|
||||
TCHAR *com;
|
||||
TCHAR *cp;
|
||||
LPTSTR param; /* pointer to command's parameters */
|
||||
INT cl;
|
||||
LPCOMMAND cmdptr;
|
||||
BOOL nointernal = FALSE;
|
||||
INT ret;
|
||||
|
||||
TRACE ("DoCommand: (\'%s\' \'%s\')\n", debugstr_aw(first), debugstr_aw(rest));
|
||||
|
||||
/* full command line */
|
||||
com = cmd_alloc((_tcslen(first) + _tcslen(rest) + 2) * sizeof(TCHAR));
|
||||
if (com == NULL)
|
||||
{
|
||||
error_out_of_memory();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* If present in the first word, these characters end the name of an
|
||||
* internal command and become the beginning of its parameters. */
|
||||
cp = first + _tcscspn(first, _T("\t +,/;=[]"));
|
||||
|
@ -526,11 +535,15 @@ DoCommand(LPTSTR first, LPTSTR rest, PARSED_COMMAND *Cmd)
|
|||
if (_tcsicmp(cmdptr->name, _T("echo")) != 0)
|
||||
while (_istspace(*param))
|
||||
param++;
|
||||
return cmdptr->func(param);
|
||||
ret = cmdptr->func(param);
|
||||
cmd_free(com);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return Execute(com, first, rest, Cmd);
|
||||
ret = Execute(com, first, rest, Cmd);
|
||||
cmd_free(com);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -125,20 +125,36 @@ static VOID ConWrite(TCHAR *str, DWORD len, DWORD nStdHandle)
|
|||
if (bUnicodeOutput)
|
||||
{
|
||||
#ifndef _UNICODE
|
||||
WCHAR buffer[len];
|
||||
WCHAR *buffer = cmd_alloc(len * sizeof(WCHAR));
|
||||
if (!buffer)
|
||||
{
|
||||
error_out_of_memory();
|
||||
return;
|
||||
}
|
||||
len = MultiByteToWideChar(OutputCodePage, 0, str, len, buffer, len, NULL, NULL);
|
||||
str = (PVOID)buffer;
|
||||
#endif
|
||||
WriteFile(hOutput, str, len * sizeof(WCHAR), &dwWritten, NULL);
|
||||
#ifndef _UNICODE
|
||||
cmd_free(buffer);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef _UNICODE
|
||||
CHAR buffer[len * MB_LEN_MAX];
|
||||
CHAR *buffer = cmd_alloc(len * MB_LEN_MAX * sizeof(CHAR));
|
||||
if (!buffer)
|
||||
{
|
||||
error_out_of_memory();
|
||||
return;
|
||||
}
|
||||
len = WideCharToMultiByte(OutputCodePage, 0, str, len, buffer, len * MB_LEN_MAX, NULL, NULL);
|
||||
str = (PVOID)buffer;
|
||||
#endif
|
||||
WriteFile(hOutput, str, len, &dwWritten, NULL);
|
||||
#ifdef _UNICODE
|
||||
cmd_free(buffer);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ INT CommandMemory (LPTSTR param)
|
|||
TCHAR szAvailPageFile[40];
|
||||
TCHAR szTotalVirtual[40];
|
||||
TCHAR szAvailVirtual[40];
|
||||
BOOL (WINAPI *GlobalMemoryStatusEx)(LPMEMORYSTATUSEX);
|
||||
|
||||
if (!_tcsncmp (param, _T("/?"), 2))
|
||||
{
|
||||
|
@ -32,8 +33,8 @@ INT CommandMemory (LPTSTR param)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL (WINAPI *GlobalMemoryStatusEx)(LPMEMORYSTATUSEX)
|
||||
= GetProcAddress(GetModuleHandle(_T("KERNEL32")), "GlobalMemoryStatusEx");
|
||||
GlobalMemoryStatusEx
|
||||
= (BOOL (WINAPI *)(LPMEMORYSTATUSEX))GetProcAddress(GetModuleHandle(_T("KERNEL32")), "GlobalMemoryStatusEx");
|
||||
if (GlobalMemoryStatusEx)
|
||||
{
|
||||
msex.dwLength = sizeof(MEMORYSTATUSEX);
|
||||
|
|
|
@ -38,7 +38,8 @@
|
|||
/*
|
||||
* get a character out-of-band and honor Ctrl-Break characters
|
||||
*/
|
||||
TCHAR cgetchar (VOID)
|
||||
TCHAR
|
||||
cgetchar (VOID)
|
||||
{
|
||||
HANDLE hInput = GetStdHandle (STD_INPUT_HANDLE);
|
||||
INPUT_RECORD irBuffer;
|
||||
|
|
|
@ -39,9 +39,9 @@ static BOOL CreateJunction(LPCTSTR LinkName, LPCTSTR TargetName)
|
|||
|
||||
HMODULE hNTDLL = GetModuleHandle(_T("NTDLL"));
|
||||
BOOLEAN (WINAPI *RtlDosPathNameToNtPathName_U)(PCWSTR, PUNICODE_STRING, PCWSTR *, CURDIR *)
|
||||
= (BOOLEAN (WINAPI *)())GetProcAddress(hNTDLL, "RtlDosPathNameToNtPathName_U");
|
||||
= (BOOLEAN (WINAPI *)(PCWSTR, PUNICODE_STRING, PCWSTR *, CURDIR *))GetProcAddress(hNTDLL, "RtlDosPathNameToNtPathName_U");
|
||||
VOID (WINAPI *RtlFreeUnicodeString)(PUNICODE_STRING)
|
||||
= (VOID (WINAPI *)())GetProcAddress(hNTDLL, "RtlFreeUnicodeString");
|
||||
= (VOID (WINAPI *)(PUNICODE_STRING))GetProcAddress(hNTDLL, "RtlFreeUnicodeString");
|
||||
|
||||
TCHAR TargetFullPath[MAX_PATH];
|
||||
#ifdef UNICODE
|
||||
|
@ -177,9 +177,9 @@ cmd_mklink(LPTSTR param)
|
|||
* so load dynamically */
|
||||
BOOL (WINAPI *CreateSymbolicLink)(LPCTSTR, LPCTSTR, DWORD)
|
||||
#ifdef UNICODE
|
||||
= (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateSymbolicLinkW");
|
||||
= (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, DWORD))GetProcAddress(hKernel32, "CreateSymbolicLinkW");
|
||||
#else
|
||||
= (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateSymbolicLinkA");
|
||||
= (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, DWORD))GetProcAddress(hKernel32, "CreateSymbolicLinkA");
|
||||
#endif
|
||||
if (CreateSymbolicLink && CreateSymbolicLink(Name[0], Name[1], Flags))
|
||||
{
|
||||
|
@ -193,9 +193,9 @@ cmd_mklink(LPTSTR param)
|
|||
* so load dynamically */
|
||||
BOOL (WINAPI *CreateHardLink)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES)
|
||||
#ifdef UNICODE
|
||||
= (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateHardLinkW");
|
||||
= (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES))GetProcAddress(hKernel32, "CreateHardLinkW");
|
||||
#else
|
||||
= (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateHardLinkA");
|
||||
= (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES))GetProcAddress(hKernel32, "CreateHardLinkA");
|
||||
#endif
|
||||
if (CreateHardLink && CreateHardLink(Name[0], Name[1], NULL))
|
||||
{
|
||||
|
|
|
@ -326,10 +326,11 @@ static PARSED_COMMAND *ParseBlock(REDIRECTION *RedirList)
|
|||
static PARSED_COMMAND *ParseIf(void)
|
||||
{
|
||||
PARSED_COMMAND *Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
|
||||
int Type;
|
||||
memset(Cmd, 0, sizeof(PARSED_COMMAND));
|
||||
Cmd->Type = C_IF;
|
||||
|
||||
int Type = CurrentTokenType;
|
||||
Type = CurrentTokenType;
|
||||
if (_tcsicmp(CurrentToken, _T("/I")) == 0)
|
||||
{
|
||||
Cmd->If.Flags |= IFFLAG_IGNORECASE;
|
||||
|
@ -619,8 +620,9 @@ static PARSED_COMMAND *ParsePrimary(void)
|
|||
|
||||
if (CurChar == _T('@'))
|
||||
{
|
||||
PARSED_COMMAND *Cmd;
|
||||
ParseChar();
|
||||
PARSED_COMMAND *Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
|
||||
Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
|
||||
Cmd->Type = C_QUIET;
|
||||
Cmd->Next = NULL;
|
||||
/* @ acts like a unary operator with low precedence,
|
||||
|
|
|
@ -34,7 +34,7 @@ PlayLogonSoundThread(
|
|||
DWORD dwSize = sizeof(szBuffer);
|
||||
HMODULE hLibrary;
|
||||
SERVICE_STATUS_PROCESS Info;
|
||||
typedef BOOL WINAPI (*PLAYSOUNDW)(LPCWSTR,HMODULE,DWORD);
|
||||
typedef BOOL (WINAPI *PLAYSOUNDW)(LPCWSTR,HMODULE,DWORD);
|
||||
PLAYSOUNDW Play;
|
||||
ULONG Index = 0;
|
||||
|
||||
|
|
|
@ -332,7 +332,7 @@ OnPaint(HWND hwnd, PPREVIEW_DATA pPreviewData)
|
|||
|
||||
hUser32 = LoadLibrary(_T("user32.dll"));
|
||||
if(hUser32 == NULL)
|
||||
return FALSE;
|
||||
return;
|
||||
|
||||
DrawCaptionTemp = (DCT_PROC)GetProcAddress(hUser32, (LPCSTR)DCT_ORD);
|
||||
DrawMenuBarTemp = (DMBT_PROC)GetProcAddress(hUser32, (LPCSTR)DMBT_ORD);
|
||||
|
|
|
@ -626,11 +626,10 @@ INT_PTR CALLBACK
|
|||
SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
|
||||
{
|
||||
PGLOBAL_DATA pGlobalData;
|
||||
TCHAR Message[1024], Title[256];
|
||||
|
||||
pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||
|
||||
TCHAR Message[1024], Title[256];
|
||||
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
|
|
|
@ -188,9 +188,11 @@ CreateKeyboardLayoutList(HWND hItemsList)
|
|||
|
||||
while (RegEnumKeyEx(hKey, dwIndex, szLayoutID, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
|
||||
{
|
||||
INT iIndex;
|
||||
|
||||
GetLayoutName(szLayoutID, KeyName);
|
||||
|
||||
INT iIndex = (INT) SendMessage(hItemsList, CB_ADDSTRING, 0, (LPARAM)KeyName);
|
||||
iIndex = (INT) SendMessage(hItemsList, CB_ADDSTRING, 0, (LPARAM)KeyName);
|
||||
|
||||
pstrLayoutID = (PTSTR)HeapAlloc(hProcessHeap, 0, sizeof(szLayoutID));
|
||||
lstrcpy(pstrLayoutID, szLayoutID);
|
||||
|
|
|
@ -4104,7 +4104,7 @@ RegQueryValueExW(HKEY hkeyorg,
|
|||
static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data );
|
||||
|
||||
TRACE("(%p,%s,%p,%p,%p,%p=%d)\n",
|
||||
hkey, debugstr_w(name), reserved, type, data, count,
|
||||
hkeyorg, debugstr_w(name), reserved, type, data, count,
|
||||
(count && data) ? *count : 0 );
|
||||
|
||||
if ((data && !count) || reserved) return ERROR_INVALID_PARAMETER;
|
||||
|
@ -4885,7 +4885,7 @@ RegSetValueA(HKEY hKeyOriginal,
|
|||
DWORD ret;
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("(%p,%s,%d,%s,%d)\n", hKey, debugstr_a(lpSubKey), dwType, debugstr_a(lpData), cbData );
|
||||
TRACE("(%p,%s,%d,%s,%d)\n", hKeyOriginal, debugstr_a(lpSubKey), dwType, debugstr_a(lpData), cbData );
|
||||
|
||||
if (dwType != REG_SZ || !lpData) return ERROR_INVALID_PARAMETER;
|
||||
|
||||
|
|
|
@ -683,7 +683,7 @@ WSPSelect(int nfds,
|
|||
fd_set *readfds,
|
||||
fd_set *writefds,
|
||||
fd_set *exceptfds,
|
||||
struct timeval *timeout,
|
||||
const LPTIMEVAL timeout,
|
||||
LPINT lpErrno)
|
||||
{
|
||||
IO_STATUS_BLOCK IOSB;
|
||||
|
|
|
@ -1409,6 +1409,17 @@ HKEY WINAPI SetupDiCreateDevRegKeyW(
|
|||
{
|
||||
struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet;
|
||||
HKEY key = INVALID_HANDLE_VALUE;
|
||||
LPWSTR lpGuidString = NULL;
|
||||
LPWSTR DriverKey = NULL; /* {GUID}\Index */
|
||||
LPWSTR pDeviceInstance; /* Points into DriverKey, on the Index field */
|
||||
DWORD Index; /* Index used in the DriverKey name */
|
||||
DWORD rc;
|
||||
HKEY hHWProfileKey = INVALID_HANDLE_VALUE;
|
||||
HKEY hEnumKey = NULL;
|
||||
HKEY hClassKey = NULL;
|
||||
HKEY hDeviceKey = INVALID_HANDLE_VALUE;
|
||||
HKEY hKey = NULL;
|
||||
HKEY RootKey;
|
||||
|
||||
TRACE("%p %p %lu %lu %lu %p %s\n", DeviceInfoSet, DeviceInfoData, Scope,
|
||||
HwProfile, KeyType, InfHandle, debugstr_w(InfSectionName));
|
||||
|
@ -1450,18 +1461,6 @@ HKEY WINAPI SetupDiCreateDevRegKeyW(
|
|||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
LPWSTR lpGuidString = NULL;
|
||||
LPWSTR DriverKey = NULL; /* {GUID}\Index */
|
||||
LPWSTR pDeviceInstance; /* Points into DriverKey, on the Index field */
|
||||
DWORD Index; /* Index used in the DriverKey name */
|
||||
DWORD rc;
|
||||
HKEY hHWProfileKey = INVALID_HANDLE_VALUE;
|
||||
HKEY hEnumKey = NULL;
|
||||
HKEY hClassKey = NULL;
|
||||
HKEY hDeviceKey = INVALID_HANDLE_VALUE;
|
||||
HKEY hKey = NULL;
|
||||
HKEY RootKey;
|
||||
|
||||
if (Scope == DICS_FLAG_GLOBAL)
|
||||
RootKey = set->HKLM;
|
||||
else /* Scope == DICS_FLAG_CONFIGSPECIFIC */
|
||||
|
@ -1670,6 +1669,7 @@ BOOL WINAPI SetupDiCreateDeviceInfoW(
|
|||
{
|
||||
struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet;
|
||||
BOOL ret = FALSE;
|
||||
SP_DEVINFO_DATA DevInfo;
|
||||
|
||||
TRACE("%p %s %s %s %p %x %p\n", DeviceInfoSet, debugstr_w(DeviceName),
|
||||
debugstr_guid(ClassGuid), debugstr_w(DeviceDescription),
|
||||
|
@ -1708,8 +1708,6 @@ BOOL WINAPI SetupDiCreateDeviceInfoW(
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
SP_DEVINFO_DATA DevInfo;
|
||||
|
||||
if (CreationFlags & DICD_GENERATE_ID)
|
||||
{
|
||||
/* Generate a new unique ID for this device */
|
||||
|
|
|
@ -96,9 +96,9 @@ struct needs_callback_info
|
|||
|
||||
typedef BOOL (*iterate_fields_func)( HINF hinf, PCWSTR field, void *arg );
|
||||
static BOOL GetLineText( HINF hinf, PCWSTR section_name, PCWSTR key_name, PWSTR *value);
|
||||
typedef HRESULT WINAPI (*COINITIALIZE)(IN LPVOID pvReserved);
|
||||
typedef HRESULT WINAPI (*COCREATEINSTANCE)(IN REFCLSID rclsid, IN LPUNKNOWN pUnkOuter, IN DWORD dwClsContext, IN REFIID riid, OUT LPVOID *ppv);
|
||||
typedef HRESULT WINAPI (*COUNINITIALIZE)(VOID);
|
||||
typedef HRESULT (WINAPI *COINITIALIZE)(IN LPVOID pvReserved);
|
||||
typedef HRESULT (WINAPI *COCREATEINSTANCE)(IN REFCLSID rclsid, IN LPUNKNOWN pUnkOuter, IN DWORD dwClsContext, IN REFIID riid, OUT LPVOID *ppv);
|
||||
typedef HRESULT (WINAPI *COUNINITIALIZE)(VOID);
|
||||
|
||||
/* Unicode constants */
|
||||
static const WCHAR AddService[] = {'A','d','d','S','e','r','v','i','c','e',0};
|
||||
|
|
|
@ -632,8 +632,9 @@ struct hostent defined in w32api/include/winsock2.h
|
|||
|
||||
void free_servent(struct servent* s)
|
||||
{
|
||||
char* next;
|
||||
HFREE(s->s_name);
|
||||
char* next = s->s_aliases[0];
|
||||
next = s->s_aliases[0];
|
||||
while(next) { HFREE(next); next++; }
|
||||
s->s_port = 0;
|
||||
HFREE(s->s_proto);
|
||||
|
@ -660,10 +661,11 @@ gethostbyname(IN CONST CHAR FAR* name)
|
|||
DNS_STATUS dns_status = {0};
|
||||
/* include/WinDNS.h -- look up DNS_RECORD on MSDN */
|
||||
PDNS_RECORD dp = 0;
|
||||
PWINSOCK_THREAD_BLOCK p;
|
||||
|
||||
addr = GH_INVALID;
|
||||
|
||||
PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData;
|
||||
p = NtCurrentTeb()->WinSockData;
|
||||
|
||||
if( !p )
|
||||
{
|
||||
|
|
|
@ -510,13 +510,13 @@ WSAHtons(IN SOCKET s,
|
|||
IN USHORT hostshort,
|
||||
OUT USHORT FAR* lpnetshort)
|
||||
{
|
||||
PCATALOG_ENTRY provider;
|
||||
if (!WSAINITIALIZED)
|
||||
{
|
||||
WSASetLastError(WSANOTINITIALISED);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
PCATALOG_ENTRY provider;
|
||||
if (!ReferenceProviderByHandle((HANDLE)s, &provider))
|
||||
{
|
||||
WSASetLastError(WSAENOTSOCK);
|
||||
|
@ -599,13 +599,13 @@ WSANtohs(IN SOCKET s,
|
|||
IN USHORT netshort,
|
||||
OUT USHORT FAR* lphostshort)
|
||||
{
|
||||
PCATALOG_ENTRY provider;
|
||||
if (!WSAINITIALIZED)
|
||||
{
|
||||
WSASetLastError(WSANOTINITIALISED);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
PCATALOG_ENTRY provider;
|
||||
if (!ReferenceProviderByHandle((HANDLE)s, &provider))
|
||||
{
|
||||
WSASetLastError(WSAENOTSOCK);
|
||||
|
|
|
@ -1093,7 +1093,7 @@ typedef struct _FILE_FULL_DIRECTORY_INFORMATION {
|
|||
ULONG FileAttributes;
|
||||
ULONG FileNameLength;
|
||||
ULONG EaSize;
|
||||
WCHAR FileName[0];
|
||||
WCHAR FileName[ANYSIZE_ARRAY];
|
||||
} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
|
||||
|
||||
typedef struct _FILE_ID_FULL_DIR_INFORMATION {
|
||||
|
|
|
@ -575,13 +575,13 @@ typedef union _SLIST_HEADER {
|
|||
ULONGLONG Reserved:59;
|
||||
ULONGLONG Region:3;
|
||||
} Header8;
|
||||
struct {
|
||||
ULONGLONG Depth:16;
|
||||
ULONGLONG Sequence:48;
|
||||
ULONGLONG HeaderType:1;
|
||||
ULONGLONG Init:1;
|
||||
ULONGLONG Reserved:2;
|
||||
ULONGLONG NextEntry:60;
|
||||
struct {
|
||||
} Header16;
|
||||
} SLIST_HEADER, *PSLIST_HEADER;
|
||||
#else
|
||||
|
@ -1956,8 +1956,8 @@ RtlEnlargedUnsignedDivide(
|
|||
IN OUT PULONG Remainder)
|
||||
{
|
||||
if (Remainder)
|
||||
*Remainder = Dividend.QuadPart % Divisor;
|
||||
return Dividend.QuadPart / Divisor;
|
||||
*Remainder = (ULONG)(Dividend.QuadPart % Divisor);
|
||||
return (ULONG)(Dividend.QuadPart / Divisor);
|
||||
}
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
|
|
|
@ -5128,9 +5128,17 @@ typedef struct _KFLOATING_SAVE {
|
|||
ULONG Spare1;
|
||||
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
||||
|
||||
static __inline
|
||||
#ifdef _MSC_VER
|
||||
//
|
||||
// FIXME: Intrinsics
|
||||
//
|
||||
unsigned char __readfsbyte(const unsigned long Offset);
|
||||
#pragma intrinsic(__readfsbyte)
|
||||
#endif
|
||||
|
||||
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
DDKAPI
|
||||
KeGetCurrentProcessorNumber(VOID)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
|
@ -5145,7 +5153,7 @@ KeGetCurrentProcessorNumber(VOID)
|
|||
#if _MSC_FULL_VER >= 13012035
|
||||
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
|
||||
#else
|
||||
__asm { movzx eax, _PCR KPCR.Number }
|
||||
__asm { movzx eax, fs:[0] KPCR.Number }
|
||||
#endif
|
||||
#else
|
||||
#error Unknown compiler
|
||||
|
@ -5945,7 +5953,7 @@ RemoveEntryList(
|
|||
OldBlink = Entry->Blink;
|
||||
OldFlink->Blink = OldBlink;
|
||||
OldBlink->Flink = OldFlink;
|
||||
return (OldFlink == OldBlink);
|
||||
return (BOOLEAN)(OldFlink == OldBlink);
|
||||
}
|
||||
|
||||
static __inline PLIST_ENTRY
|
||||
|
|
|
@ -56,45 +56,45 @@
|
|||
#define WNNC_START 0x0000000c
|
||||
#define WNNC_WAIT_FOR_START 0x00000001
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPGetCaps)(DWORD ndex);
|
||||
typedef DWORD (APIENTRY *PF_NPGetCaps)(DWORD ndex);
|
||||
|
||||
/* get user */
|
||||
typedef DWORD APIENTRY (*PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName,
|
||||
typedef DWORD (APIENTRY *PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName,
|
||||
LPDWORD lpnBufferLen);
|
||||
|
||||
/* enumeration-related */
|
||||
typedef DWORD APIENTRY (*PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage,
|
||||
typedef DWORD (APIENTRY *PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage,
|
||||
LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum);
|
||||
typedef DWORD APIENTRY (*PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount,
|
||||
typedef DWORD (APIENTRY *PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount,
|
||||
LPVOID lpBuffer, LPDWORD lpBufferSize);
|
||||
typedef DWORD APIENTRY (*PF_NPCloseEnum)(HANDLE hEnum);
|
||||
typedef DWORD (APIENTRY *PF_NPCloseEnum)(HANDLE hEnum);
|
||||
typedef DWORD (APIENTRY *PF_NPGetResourceInformation)(LPNETRESOURCEW lpNetResource,
|
||||
LPVOID lpBuffer, LPDWORD lpcbBuffer, LPWSTR* lplpSystem);
|
||||
|
||||
/* connection-related */
|
||||
typedef DWORD APIENTRY (*PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,
|
||||
typedef DWORD (APIENTRY *PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,
|
||||
LPWSTR lpPassword, LPWSTR lpUserName);
|
||||
typedef DWORD APIENTRY (*PF_NPAddConnection3)(HWND hwndOwner,
|
||||
typedef DWORD (APIENTRY *PF_NPAddConnection3)(HWND hwndOwner,
|
||||
LPNETRESOURCEW lpNetResource, LPWSTR lpPassword, LPWSTR lpUserName,
|
||||
DWORD dwFlags);
|
||||
typedef DWORD APIENTRY (*PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce);
|
||||
typedef DWORD APIENTRY (*PF_NPGetConnection)(LPWSTR lpLocalName,
|
||||
typedef DWORD (APIENTRY *PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce);
|
||||
typedef DWORD (APIENTRY *PF_NPGetConnection)(LPWSTR lpLocalName,
|
||||
LPWSTR lpRemoteName, LPDWORD lpnBufferLen);
|
||||
|
||||
/* network name manipulation */
|
||||
typedef DWORD APIENTRY (*PF_NPGetUniversalName)(LPWSTR lpLocalPath,
|
||||
typedef DWORD (APIENTRY *PF_NPGetUniversalName)(LPWSTR lpLocalPath,
|
||||
DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpnBufferSize);
|
||||
typedef DWORD APIENTRY (*PF_NPFormatNetworkName)(LPWSTR lpRemoteName,
|
||||
typedef DWORD (APIENTRY *PF_NPFormatNetworkName)(LPWSTR lpRemoteName,
|
||||
LPWSTR lpFormattedName, LPDWORD lpnLength, DWORD dwFlags,
|
||||
DWORD dwAveCharPerLine);
|
||||
|
||||
/* dialogs */
|
||||
typedef DWORD APIENTRY (*PF_NPDeviceMode)(HWND hParent);
|
||||
typedef DWORD (APIENTRY *PF_NPDeviceMode)(HWND hParent);
|
||||
|
||||
/* search dialog */
|
||||
#define WNSRCH_REFRESH_FIRST_LEVEL 0x00000001
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPSearchDialog)(HWND hwndParent,
|
||||
typedef DWORD (APIENTRY *PF_NPSearchDialog)(HWND hwndParent,
|
||||
LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, DWORD cbBuffer,
|
||||
LPDWORD lpnFlags);
|
||||
|
||||
|
@ -109,10 +109,10 @@ typedef DWORD APIENTRY (*PF_NPSearchDialog)(HWND hwndParent,
|
|||
#define WNPS_DIR 1
|
||||
#define WNPS_MULT 2
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel,
|
||||
typedef DWORD (APIENTRY *PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel,
|
||||
LPWSTR lpName, LPWSTR lpButtonName, DWORD nButtonNameLen, DWORD nType);
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
|
||||
typedef DWORD (APIENTRY *PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
|
||||
DWORD nPropSel, LPWSTR lpFileName, DWORD nType);
|
||||
|
||||
/* admin */
|
||||
|
@ -123,9 +123,9 @@ typedef DWORD APIENTRY (*PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
|
|||
#define WNDN_RMDIR 2
|
||||
#define WNDN_MVDIR 3
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType,
|
||||
typedef DWORD (APIENTRY *PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType,
|
||||
BOOL bFlushCache);
|
||||
typedef DWORD APIENTRY (*PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
|
||||
typedef DWORD (APIENTRY *PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
|
||||
DWORD dwOper);
|
||||
|
||||
/* permission editor dialogs */
|
||||
|
@ -133,16 +133,16 @@ typedef DWORD APIENTRY (*PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
|
|||
#define WNPERMC_AUDIT 0x00000002
|
||||
#define WNPERMC_OWNER 0x00000004
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
|
||||
typedef DWORD (APIENTRY *PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
|
||||
|
||||
#define WNPERM_DLG_PERM 0
|
||||
#define WNPERM_DLG_AUDIT 1
|
||||
#define WNPERM_DLG_OWNER 2
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX,
|
||||
typedef DWORD (APIENTRY *PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX,
|
||||
DWORD nDialogType);
|
||||
|
||||
typedef DWORD APIENTRY (*PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,
|
||||
typedef DWORD (APIENTRY *PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,
|
||||
DWORD nDialogType, BOOL fDirectory, LPVOID lpFileNameBuffer,
|
||||
LPDWORD lpBufferSize, LPDWORD lpnHelpContext);
|
||||
|
||||
|
@ -160,11 +160,11 @@ VOID WINAPI WNetSetLastErrorW(DWORD err, LPWSTR lpError, LPWSTR lpProviders);
|
|||
#define WN_NT_PASSWORD_CHANGED 0x00000002
|
||||
|
||||
/* notifications */
|
||||
typedef DWORD APIENTRY (*PF_NPLogonNotify)(PLUID lpLogonId,
|
||||
typedef DWORD (APIENTRY *PF_NPLogonNotify)(PLUID lpLogonId,
|
||||
LPCWSTR lpAuthentInfoType, LPVOID lpAuthentInfo,
|
||||
LPCWSTR lpPreviousAuthentInfoType, LPVOID lpPreviousAuthentInfo,
|
||||
LPWSTR lpStationName, LPVOID StationHandle, LPWSTR *lpLogonScript);
|
||||
typedef DWORD APIENTRY (*PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType,
|
||||
typedef DWORD (APIENTRY *PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType,
|
||||
LPVOID lpAuthentInfo, LPCWSTR lpPreviousAuthentInfoType,
|
||||
LPVOID lpPreviousAuthentInfo, LPWSTR lpStationName, LPVOID StationHandle,
|
||||
DWORD dwChangeInfo);
|
||||
|
@ -201,9 +201,9 @@ typedef struct _NOTIFYCANCEL
|
|||
BOOL fForce;
|
||||
} NOTIFYCANCEL, *LPNOTIFYCANCEL;
|
||||
|
||||
typedef DWORD APIENTRY (*PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
|
||||
typedef DWORD (APIENTRY *PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
|
||||
LPNOTIFYADD lpAddInfo);
|
||||
typedef DWORD APIENTRY (*PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
|
||||
typedef DWORD (APIENTRY *PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
|
||||
LPNOTIFYADD lpAddInfo);
|
||||
|
||||
#endif /* ndef __WINE_NPAPI_H__ */
|
||||
|
|
1
reactos/lib/3rdparty/mingw/mingw.rbuild
vendored
1
reactos/lib/3rdparty/mingw/mingw.rbuild
vendored
|
@ -31,6 +31,7 @@
|
|||
<module name="mingw_main" type="staticlibrary" isstartuplib="true" crt="dll">
|
||||
<define name="_CRTBLD" />
|
||||
<include base="ReactOS">include/reactos/mingw-w64</include>
|
||||
<compilerflag compilerset="msc">/wd4733</compilerflag>
|
||||
<file>crt0_c.c</file>
|
||||
<file>crtexe.c</file>
|
||||
<file>dllargv.c</file>
|
||||
|
|
|
@ -114,7 +114,7 @@ typedef struct _CM_KEY_NODE
|
|||
ULONG WorkVar;
|
||||
USHORT NameLength;
|
||||
USHORT ClassLength;
|
||||
WCHAR Name[0];
|
||||
WCHAR Name[ANYSIZE_ARRAY];
|
||||
} CM_KEY_NODE, *PCM_KEY_NODE;
|
||||
|
||||
//
|
||||
|
@ -122,7 +122,7 @@ typedef struct _CM_KEY_NODE
|
|||
//
|
||||
typedef struct _VALUE_LIST_CELL
|
||||
{
|
||||
HCELL_INDEX ValueOffset[0];
|
||||
HCELL_INDEX ValueOffset[ANYSIZE_ARRAY];
|
||||
} VALUE_LIST_CELL, *PVALUE_LIST_CELL;
|
||||
|
||||
//
|
||||
|
@ -137,7 +137,7 @@ typedef struct _CM_KEY_VALUE
|
|||
ULONG Type;
|
||||
USHORT Flags;
|
||||
USHORT Unused1;
|
||||
WCHAR Name[0];
|
||||
WCHAR Name[ANYSIZE_ARRAY];
|
||||
} CM_KEY_VALUE, *PCM_KEY_VALUE;
|
||||
|
||||
//
|
||||
|
@ -152,7 +152,7 @@ typedef struct _CM_KEY_SECURITY
|
|||
ULONG ReferenceCount;
|
||||
ULONG DescriptorLength;
|
||||
//SECURITY_DESCRIPTOR_RELATIVE Descriptor;
|
||||
UCHAR Data[0];
|
||||
UCHAR Data[ANYSIZE_ARRAY];
|
||||
} CM_KEY_SECURITY, *PCM_KEY_SECURITY;
|
||||
|
||||
#ifdef CMLIB_HOST
|
||||
|
|
|
@ -814,6 +814,10 @@ Ext2Format(
|
|||
/* File Sys Structure */
|
||||
EXT2_FILESYS FileSys;
|
||||
ULONG Percent;
|
||||
ULONG rsv;
|
||||
ULONG blocks;
|
||||
ULONG start;
|
||||
ULONG ret_blk;
|
||||
|
||||
|
||||
Callback(PROGRESS, 0, (PVOID)&Percent);
|
||||
|
@ -917,10 +921,8 @@ Ext2Format(
|
|||
}
|
||||
|
||||
/* rsv must be a power of two (64kB is MD RAID sb alignment) */
|
||||
ULONG rsv = 65536 / FileSys.blocksize;
|
||||
ULONG blocks = Ext2Sb.s_blocks_count;
|
||||
ULONG start;
|
||||
ULONG ret_blk;
|
||||
rsv = 65536 / FileSys.blocksize;
|
||||
blocks = Ext2Sb.s_blocks_count;
|
||||
|
||||
#ifdef ZAP_BOOTBLOCK
|
||||
zap_sector(&FileSys, 0, 2);
|
||||
|
|
|
@ -123,6 +123,7 @@ Ke386Wrmsr(IN ULONG Register,
|
|||
IN ULONG Var1,
|
||||
IN ULONG Var2)
|
||||
{
|
||||
__asm mov ecx, Register;
|
||||
__asm mov eax, Var1;
|
||||
__asm mov edx, Var2;
|
||||
__asm wrmsr;
|
||||
|
@ -134,6 +135,7 @@ Ke386Rdmsr(IN ULONG Register,
|
|||
IN ULONG Var1,
|
||||
IN ULONG Var2)
|
||||
{
|
||||
__asm mov ecx, Register;
|
||||
__asm mov eax, Var1;
|
||||
__asm mov edx, Var2;
|
||||
__asm rdmsr;
|
||||
|
|
|
@ -104,14 +104,17 @@ IntInsertAliasHeader(PALIAS_HEADER * RootHeader, PALIAS_HEADER NewHeader)
|
|||
PALIAS_ENTRY
|
||||
IntGetAliasEntry(PALIAS_HEADER Header, LPCWSTR lpSrcName)
|
||||
{
|
||||
PALIAS_ENTRY RootHeader;
|
||||
|
||||
if (Header == NULL)
|
||||
return NULL;
|
||||
|
||||
PALIAS_ENTRY RootHeader = Header->Data;
|
||||
RootHeader = Header->Data;
|
||||
while(RootHeader)
|
||||
{
|
||||
INT diff;
|
||||
DPRINT("IntGetAliasEntry>lpSource %S\n", RootHeader->lpSource);
|
||||
INT diff = _wcsicmp(RootHeader->lpSource, lpSrcName);
|
||||
diff = _wcsicmp(RootHeader->lpSource, lpSrcName);
|
||||
if (!diff)
|
||||
return RootHeader;
|
||||
|
||||
|
|
Loading…
Reference in a new issue