ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2013
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
10 participants
327 discussions
Start a n
N
ew thread
[cgutman] 59702: [SETUPAPI] - SetupDiRegisterDeviceInfo shouldn't fail if a device instance already exists - MSDN documentation for this function states: "If [SPRDI_FIND_DUPS] is not specified, the...
by cgutman@svn.reactos.org
Author: cgutman Date: Sun Aug 11 21:19:35 2013 New Revision: 59702 URL:
http://svn.reactos.org/svn/reactos?rev=59702&view=rev
Log: [SETUPAPI] - SetupDiRegisterDeviceInfo shouldn't fail if a device instance already exists - MSDN documentation for this function states: "If [SPRDI_FIND_DUPS] is not specified, the device instance is registered regardless of whether a device instance already exists for it." Modified: trunk/reactos/dll/win32/setupapi/devinst.c Modified: trunk/reactos/dll/win32/setupapi/devinst.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/setupapi/devinst…
============================================================================== --- trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] Sun Aug 11 21:19:35 2013 @@ -1911,7 +1911,8 @@ ParentDevInst, CM_CREATE_DEVINST_NORMAL | CM_CREATE_DEVINST_DO_NOT_INSTALL, set->hMachine); - if (cr != CR_SUCCESS) + if (cr != CR_SUCCESS && + cr != CR_ALREADY_SUCH_DEVINST) { dwError = ERROR_NO_SUCH_DEVINST; }
11 years, 4 months
1
0
0
0
[aandrejevic] 59701: [NTVDM] Fix bug in DosChangeDirectory.
by aandrejevic@svn.reactos.org
Author: aandrejevic Date: Sun Aug 11 21:07:09 2013 New Revision: 59701 URL:
http://svn.reactos.org/svn/reactos?rev=59701&view=rev
Log: [NTVDM] Fix bug in DosChangeDirectory. Modified: branches/ntvdm/subsystems/ntvdm/dos.c Modified: branches/ntvdm/subsystems/ntvdm/dos.c URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/dos.c?re…
============================================================================== --- branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] Sun Aug 11 21:07:09 2013 @@ -892,10 +892,16 @@ } /* Get the directory part of the path */ - Path = strchr(Directory, '\\') + 1; + Path = strchr(Directory, '\\'); + if (Path != NULL) + { + /* Skip the backslash */ + Path++; + } /* Set the directory for the drive */ - strcpy(CurrentDirectories[DriveNumber], Path); + if (Path != NULL) strcpy(CurrentDirectories[DriveNumber], Path); + else strcpy(CurrentDirectories[DriveNumber], ""); /* Return success */ return TRUE;
11 years, 4 months
1
0
0
0
[aandrejevic] 59700: [NTVDM] Keep a list of current directories for all drives. Implement functions that change the default drive and current directory.
by aandrejevic@svn.reactos.org
Author: aandrejevic Date: Sun Aug 11 20:54:07 2013 New Revision: 59700 URL:
http://svn.reactos.org/svn/reactos?rev=59700&view=rev
Log: [NTVDM] Keep a list of current directories for all drives. Implement functions that change the default drive and current directory. Modified: branches/ntvdm/subsystems/ntvdm/dos.c branches/ntvdm/subsystems/ntvdm/dos.h Modified: branches/ntvdm/subsystems/ntvdm/dos.c URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/dos.c?re…
============================================================================== --- branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] Sun Aug 11 20:54:07 2013 @@ -19,6 +19,9 @@ static WORD CurrentPsp = SYSTEM_PSP; static WORD DosLastError = 0; static DWORD DiskTransferArea; +static BYTE CurrentDrive; +static CHAR LastDrive = 'E'; +static CHAR CurrentDirectories[NUM_DRIVES][DOS_DIR_LENGTH]; static HANDLE DosSystemFileTable[DOS_SFT_SIZE]; static WORD DosSftRefCount[DOS_SFT_SIZE]; static BYTE DosAllocStrategy = DOS_ALLOC_BEST_FIT; @@ -820,6 +823,81 @@ /* Clear the entry in the JFT */ HandleTable[DosHandle] = 0xFF; + return TRUE; +} + +BOOLEAN DosChangeDrive(BYTE Drive) +{ + WCHAR DirectoryPath[DOS_CMDLINE_LENGTH]; + + /* Make sure the drive exists */ + if (Drive > (LastDrive - 'A')) return FALSE; + + /* Find the path to the new current directory */ + swprintf(DirectoryPath, L"%c\\%S", Drive + 'A', CurrentDirectories[Drive]); + + /* Change the current directory of the process */ + if (!SetCurrentDirectory(DirectoryPath)) return FALSE; + + /* Set the current drive */ + CurrentDrive = Drive; + + /* Return success */ + return TRUE; +} + +BOOLEAN DosChangeDirectory(LPSTR Directory) +{ + BYTE DriveNumber; + DWORD Attributes; + LPSTR Path; + + /* Make sure the directory path is not too long */ + if (strlen(Directory) >= DOS_DIR_LENGTH) + { + DosLastError = ERROR_PATH_NOT_FOUND; + return FALSE; + } + + /* Get the drive number */ + DriveNumber = Directory[0] - 'A'; + + /* Make sure the drive exists */ + if (DriveNumber > (LastDrive - 'A')) + { + DosLastError = ERROR_PATH_NOT_FOUND; + return FALSE; + } + + /* Get the file attributes */ + Attributes = GetFileAttributesA(Directory); + + /* Make sure the path exists and is a directory */ + if ((Attributes == INVALID_FILE_ATTRIBUTES) + || !(Attributes & FILE_ATTRIBUTE_DIRECTORY)) + { + DosLastError = ERROR_PATH_NOT_FOUND; + return FALSE; + } + + /* Check if this is the current drive */ + if (DriveNumber == CurrentDrive) + { + /* Change the directory */ + if (!SetCurrentDirectoryA(Directory)) + { + DosLastError = LOWORD(GetLastError()); + return FALSE; + } + } + + /* Get the directory part of the path */ + Path = strchr(Directory, '\\') + 1; + + /* Set the directory for the drive */ + strcpy(CurrentDirectories[DriveNumber], Path); + + /* Return success */ return TRUE; } @@ -1302,6 +1380,16 @@ break; } + /* Set Default Drive */ + case 0x0E: + { + DosChangeDrive(LOBYTE(Edx)); + EmulatorSetRegister(EMULATOR_REG_AX, + (Eax & 0xFFFFFF00) | (LastDrive - 'A' + 1)); + + break; + } + /* Set Disk Transfer Area */ case 0x1A: { @@ -1472,7 +1560,7 @@ String = (PCHAR)((ULONG_PTR)BaseAddress + TO_LINEAR(DataSegment, LOWORD(Edx))); - if (SetCurrentDirectoryA(String)) + if (DosChangeDirectory(String)) { Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; } @@ -1480,7 +1568,7 @@ { Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; EmulatorSetRegister(EMULATOR_REG_AX, - (Eax & 0xFFFF0000) | LOWORD(GetLastError())); + (Eax & 0xFFFF0000) | DosLastError); } break; @@ -1953,6 +2041,9 @@ LPSTR AsciiString; LPSTR DestPtr = (LPSTR)((ULONG_PTR)BaseAddress + TO_LINEAR(SYSTEM_ENV_BLOCK, 0)); DWORD AsciiSize; + CHAR CurrentDirectory[MAX_PATH]; + CHAR DosDirectory[DOS_DIR_LENGTH]; + LPSTR Path; /* Initialize the MCB */ Mcb->BlockType = 'Z'; @@ -2022,6 +2113,37 @@ /* Free the memory allocated for environment strings */ FreeEnvironmentStringsW(Environment); + /* Clear the current directory buffer */ + ZeroMemory(CurrentDirectories, sizeof(CurrentDirectories)); + + /* Get the current directory */ + if (!GetCurrentDirectoryA(MAX_PATH, CurrentDirectory)) + { + // TODO: Use some kind of default path? + return FALSE; + } + + /* Convert that to a DOS path */ + if (!GetShortPathNameA(CurrentDirectory, DosDirectory, DOS_DIR_LENGTH)) + { + // TODO: Use some kind of default path? + return FALSE; + } + + /* Set the drive */ + CurrentDrive = DosDirectory[0] - 'A'; + + /* Get the path */ + Path = strchr(DosDirectory, '\\'); + if (Path != NULL) + { + /* Skip the backslash */ + Path++; + } + + /* Set the directory */ + if (Path != NULL) strcpy(CurrentDirectories[CurrentDrive], Path); + /* Read CONFIG.SYS */ Stream = _wfopen(DOS_CONFIG_PATH, L"r"); if (Stream != NULL) Modified: branches/ntvdm/subsystems/ntvdm/dos.h URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/dos.h?re…
============================================================================== --- branches/ntvdm/subsystems/ntvdm/dos.h [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/dos.h [iso-8859-1] Sun Aug 11 20:54:07 2013 @@ -34,6 +34,8 @@ #define DOS_ALLOC_HIGH 0x40 #define DOS_ALLOC_HIGH_LOW 0x80 #define DOS_CMDLINE_LENGTH 127 +#define DOS_DIR_LENGTH 64 +#define NUM_DRIVES ('Z' - 'A' + 1) enum DOS_ALLOC_STRATEGY {
11 years, 4 months
1
0
0
0
[cgutman] 59699: [UMPNPMGR] - Handle the CM_CREATE_DEVNODE_GENERATE_ID flag [SETUPAPI] - Use the correct ID (the newly generated instance ID) when creating the device info if the DICD_GENERATE_ID f...
by cgutman@svn.reactos.org
Author: cgutman Date: Sun Aug 11 19:57:47 2013 New Revision: 59699 URL:
http://svn.reactos.org/svn/reactos?rev=59699&view=rev
Log: [UMPNPMGR] - Handle the CM_CREATE_DEVNODE_GENERATE_ID flag [SETUPAPI] - Use the correct ID (the newly generated instance ID) when creating the device info if the DICD_GENERATE_ID flag was passed in Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c trunk/reactos/dll/win32/setupapi/cfgmgr.c trunk/reactos/dll/win32/setupapi/devinst.c Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/ump…
============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Sun Aug 11 19:57:47 2013 @@ -1613,16 +1613,42 @@ if (ulFlags & CM_CREATE_DEVNODE_GENERATE_ID) { - /* FIXME */ - DPRINT1("CM_CREATE_DEVNODE_GENERATE_ID support not implemented yet!\n", ret); - ret = CR_CALL_NOT_IMPLEMENTED; - goto done; - } - - /* Create the device instance */ - ret = CreateDeviceInstance(pszDeviceID); - -done:; + WCHAR szGeneratedInstance[MAX_DEVICE_ID_LEN]; + DWORD dwInstanceNumber; + + /* Generated ID is: Root\<Device ID>\<Instance number> */ + dwInstanceNumber = 0; + do + { + swprintf(szGeneratedInstance, L"Root\\%ls\\%04d", + pszDeviceID, dwInstanceNumber); + + /* Try to create a device instance with this ID */ + ret = CreateDeviceInstance(szGeneratedInstance); + + dwInstanceNumber++; + } + while (ret == CR_ALREADY_SUCH_DEVINST); + + if (ret == CR_SUCCESS) + { + /* pszDeviceID is an out parameter too for generated IDs */ + if (wcslen(szGeneratedInstance) > ulLength) + { + ret = CR_BUFFER_SMALL; + } + else + { + wcscpy(pszDeviceID, szGeneratedInstance); + } + } + } + else + { + /* Create the device instance */ + ret = CreateDeviceInstance(pszDeviceID); + } + DPRINT("PNP_CreateDevInst() done (returns %lx)\n", ret); return ret; Modified: trunk/reactos/dll/win32/setupapi/cfgmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/setupapi/cfgmgr.…
============================================================================== --- trunk/reactos/dll/win32/setupapi/cfgmgr.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/setupapi/cfgmgr.c [iso-8859-1] Sun Aug 11 19:57:47 2013 @@ -681,7 +681,9 @@ if (ret == CR_SUCCESS) { - *pdnDevInst = pSetupStringTableAddString(StringTable, pDeviceID, 1); + /* If CM_CREATE_DEVINST_GENERATE_ID was passed in, PNP_CreateDevInst + * will return the generated device ID in szLocalDeviceID */ + *pdnDevInst = pSetupStringTableAddString(StringTable, szLocalDeviceID, 1); if (*pdnDevInst == 0) ret = CR_NO_SUCH_DEVNODE; } Modified: trunk/reactos/dll/win32/setupapi/devinst.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/setupapi/devinst…
============================================================================== --- trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] Sun Aug 11 19:57:47 2013 @@ -1727,6 +1727,7 @@ CONFIGRET cr; DEVINST RootDevInst; DEVINST DevInst; + WCHAR GenInstanceId[MAX_DEVICE_ID_LEN]; TRACE("%p %s %s %s %p %x %p\n", DeviceInfoSet, debugstr_w(DeviceName), debugstr_guid(ClassGuid), debugstr_w(DeviceDescription), @@ -1787,6 +1788,24 @@ { SetLastError(GetErrorCodeFromCrCode(cr)); return FALSE; + } + + if (CreationFlags & DICD_GENERATE_ID) + { + /* Grab the actual instance ID that was created */ + cr = CM_Get_Device_ID_Ex(DevInst, + GenInstanceId, + MAX_DEVICE_ID_LEN, + 0, + set->hMachine); + if (cr != CR_SUCCESS) + { + SetLastError(GetErrorCodeFromCrCode(cr)); + return FALSE; + } + + DeviceName = GenInstanceId; + TRACE("Using generated instance ID: %s\n", debugstr_w(DeviceName)); } if (CreateDeviceInfo(set, DeviceName, ClassGuid, &deviceInfo))
11 years, 4 months
1
0
0
0
[cgutman] 59698: [SETUPAPI] - Pass the CM_CREATE_DEVINST_GENERATE_ID flag to CM_Create_DevInst_ExW if DICD_GENERATE_ID was used - Currently unimplemented in umpnpmgr
by cgutman@svn.reactos.org
Author: cgutman Date: Sun Aug 11 17:49:17 2013 New Revision: 59698 URL:
http://svn.reactos.org/svn/reactos?rev=59698&view=rev
Log: [SETUPAPI] - Pass the CM_CREATE_DEVINST_GENERATE_ID flag to CM_Create_DevInst_ExW if DICD_GENERATE_ID was used - Currently unimplemented in umpnpmgr Modified: trunk/reactos/dll/win32/setupapi/devinst.c Modified: trunk/reactos/dll/win32/setupapi/devinst.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/setupapi/devinst…
============================================================================== --- trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/setupapi/devinst.c [iso-8859-1] Sun Aug 11 17:49:17 2013 @@ -1780,7 +1780,8 @@ cr = CM_Create_DevInst_ExW(&DevInst, (DEVINSTID)DeviceName, RootDevInst, - 0, + (CreationFlags & DICD_GENERATE_ID) ? + CM_CREATE_DEVINST_GENERATE_ID : 0, set->hMachine); if (cr != CR_SUCCESS) {
11 years, 4 months
1
0
0
0
[hbelusca] 59697: [KERNEL32] Fix the prototype of the undocumented function SetConsolePalette (see http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844 and https://github.com/harbour/core/...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Sun Aug 11 17:06:19 2013 New Revision: 59697 URL:
http://svn.reactos.org/svn/reactos?rev=59697&view=rev
Log: [KERNEL32] Fix the prototype of the undocumented function SetConsolePalette (see
http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844
and
https://github.com/harbour/core/commit/d79a1b7b812cbde6ddf718ebfd6939a24f63…
for a usage example); tested by Mysoft a.k.a. Grégory Macario Harbs. Needed for modifying VGA palettes for NTVDM. Modified: trunk/reactos/dll/win32/kernel32/client/console/console.c trunk/reactos/include/psdk/wincon.h Modified: trunk/reactos/dll/win32/kernel32/client/console/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
============================================================================== --- trunk/reactos/dll/win32/kernel32/client/console/console.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/console/console.c [iso-8859-1] Sun Aug 11 17:06:19 2013 @@ -712,16 +712,19 @@ /* * @unimplemented (Undocumented) - */ -BOOL -WINAPI -SetConsolePalette(DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2) -{ - DPRINT1("SetConsolePalette(0x%x, 0x%x, 0x%x) UNIMPLEMENTED!\n", Unknown0, Unknown1, Unknown2); + * @note See
http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844
+ * Usage example:
https://github.com/harbour/core/commit/d79a1b7b812cbde6ddf718ebfd6939a24f63…
+ */ +BOOL +WINAPI +SetConsolePalette(HANDLE hConsoleOutput, + HPALETTE hPalette, + UINT dwUsage) +{ + DPRINT1("SetConsolePalette(0x%x, 0x%x, %d) UNIMPLEMENTED!\n", hConsoleOutput, hPalette, dwUsage); SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + // Return TRUE so that we don't fail when being used by NTVDM even if not implemented. + return TRUE; } /* Modified: trunk/reactos/include/psdk/wincon.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wincon.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/wincon.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/wincon.h [iso-8859-1] Sun Aug 11 17:06:19 2013 @@ -473,6 +473,8 @@ BOOL WINAPI SetConsoleCursor(_In_ HANDLE, _In_ HCURSOR); /* Undocumented, see
http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php
*/ INT WINAPI ShowConsoleCursor(_In_ HANDLE, _In_ BOOL); +/* Undocumented, see
http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844
*/ +BOOL WINAPI SetConsolePalette(_In_ HANDLE, _In_ HPALETTE, _In_ UINT); BOOL WINAPI WriteConsoleA(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID); BOOL WINAPI WriteConsoleW(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
11 years, 4 months
1
0
0
0
[akhaldi] 59696: [PSDK] * Annotate mmsystem.h.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sun Aug 11 14:40:52 2013 New Revision: 59696 URL:
http://svn.reactos.org/svn/reactos?rev=59696&view=rev
Log: [PSDK] * Annotate mmsystem.h. Modified: trunk/reactos/include/psdk/mmsystem.h Modified: trunk/reactos/include/psdk/mmsystem.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/mmsystem.h?re…
============================================================================== --- trunk/reactos/include/psdk/mmsystem.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/mmsystem.h [iso-8859-1] Sun Aug 11 14:40:52 2013 @@ -1702,194 +1702,711 @@ WORD wReserved5; } MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS; -LRESULT WINAPI CloseDriver(HDRVR,LPARAM,LPARAM); -HDRVR WINAPI OpenDriver(LPCWSTR,LPCWSTR,LPARAM); -LRESULT WINAPI SendDriverMessage(HDRVR,UINT,LPARAM,LPARAM); -HMODULE WINAPI DrvGetModuleHandle(HDRVR); -HMODULE WINAPI GetDriverModuleHandle(HDRVR); -LRESULT WINAPI DefDriverProc(DWORD_PTR,HDRVR,UINT,LPARAM,LPARAM); +LRESULT WINAPI CloseDriver(_In_ HDRVR, _In_ LPARAM, _In_ LPARAM); +HDRVR WINAPI OpenDriver(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPARAM); +LRESULT WINAPI SendDriverMessage(_In_ HDRVR, _In_ UINT, _In_ LPARAM, _In_ LPARAM); +HMODULE WINAPI DrvGetModuleHandle(_In_ HDRVR); +HMODULE WINAPI GetDriverModuleHandle(_In_ HDRVR); + +LRESULT +WINAPI +DefDriverProc( + _In_ DWORD_PTR, + _In_ HDRVR, + _In_ UINT, + _In_ LPARAM, + _In_ LPARAM); + UINT WINAPI mmsystemGetVersion(void); #define OutputDebugStr OutputDebugString -BOOL WINAPI sndPlaySoundA(LPCSTR,UINT); -BOOL WINAPI sndPlaySoundW(LPCWSTR,UINT); -BOOL WINAPI PlaySoundA(LPCSTR,HMODULE,DWORD); -BOOL WINAPI PlaySoundW(LPCWSTR,HMODULE,DWORD); +BOOL WINAPI sndPlaySoundA(_In_opt_ LPCSTR, _In_ UINT); +BOOL WINAPI sndPlaySoundW(_In_opt_ LPCWSTR, _In_ UINT); +BOOL WINAPI PlaySoundA(_In_opt_ LPCSTR, _In_opt_ HMODULE, _In_ DWORD); +BOOL WINAPI PlaySoundW(_In_opt_ LPCWSTR, _In_opt_ HMODULE, _In_ DWORD); UINT WINAPI waveOutGetNumDevs(void); -MMRESULT WINAPI waveOutGetDevCapsA(UINT_PTR,LPWAVEOUTCAPSA,UINT); -MMRESULT WINAPI waveOutGetDevCapsW(UINT_PTR,LPWAVEOUTCAPSW,UINT); -MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD); -MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD); -MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT); -MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT); -MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI waveOutClose(HWAVEOUT); -MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT); -MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT); -MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT); -MMRESULT WINAPI waveOutPause(HWAVEOUT); -MMRESULT WINAPI waveOutRestart(HWAVEOUT); -MMRESULT WINAPI waveOutReset(HWAVEOUT); -MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT); -MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT); -MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD); -MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD); -MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD); -MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD); -MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT); +MMRESULT WINAPI waveOutGetDevCapsA(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSA, _In_ UINT); +MMRESULT WINAPI waveOutGetDevCapsW(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSW, _In_ UINT); +MMRESULT WINAPI waveOutGetVolume(_In_opt_ HWAVEOUT, _Out_ PDWORD); +MMRESULT WINAPI waveOutSetVolume(_In_opt_ HWAVEOUT, _In_ DWORD); + +MMRESULT +WINAPI +waveOutGetErrorTextA( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +waveOutGetErrorTextW( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPWSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +waveOutOpen( + _Out_opt_ LPHWAVEOUT, + _In_ UINT, + _In_ LPCWAVEFORMATEX, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR, + _In_ DWORD); + +MMRESULT WINAPI waveOutClose(_In_ HWAVEOUT); + +MMRESULT +WINAPI +waveOutPrepareHeader( + _In_ HWAVEOUT hwo, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT +WINAPI +waveOutUnprepareHeader( + _In_ HWAVEOUT hwo, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT +WINAPI +waveOutWrite( + _In_ HWAVEOUT hwo, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT WINAPI waveOutPause(_In_ HWAVEOUT); +MMRESULT WINAPI waveOutRestart(_In_ HWAVEOUT); +MMRESULT WINAPI waveOutReset(_In_ HWAVEOUT); +MMRESULT WINAPI waveOutBreakLoop(_In_ HWAVEOUT); + +MMRESULT +WINAPI +waveOutGetPosition( + _In_ HWAVEOUT hwo, + _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, + _In_ UINT cbmmt); + +MMRESULT WINAPI waveOutGetPitch(_In_ HWAVEOUT, _Out_ PDWORD); +MMRESULT WINAPI waveOutSetPitch(_In_ HWAVEOUT, _In_ DWORD); +MMRESULT WINAPI waveOutGetPlaybackRate(_In_ HWAVEOUT, _Out_ PDWORD); +MMRESULT WINAPI waveOutSetPlaybackRate(_In_ HWAVEOUT, _In_ DWORD); +MMRESULT WINAPI waveOutGetID(_In_ HWAVEOUT, _Out_ LPUINT); + #if (WINVER >= 0x030a) #ifdef _WIN32 -MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD_PTR,DWORD_PTR); +MMRESULT WINAPI waveOutMessage(_In_opt_ HWAVEOUT, _In_ UINT, _In_ DWORD_PTR, _In_ DWORD_PTR); #else DWORD WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD); #endif #endif + UINT WINAPI waveInGetNumDevs(void); -MMRESULT WINAPI waveInGetDevCapsA(UINT_PTR,LPWAVEINCAPSA,UINT); -MMRESULT WINAPI waveInGetDevCapsW(UINT_PTR,LPWAVEINCAPSW,UINT); -MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT); -MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT); -MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI waveInClose(HWAVEIN); -MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT); -MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT); -MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT); -MMRESULT WINAPI waveInStart(HWAVEIN); -MMRESULT WINAPI waveInStop(HWAVEIN); -MMRESULT WINAPI waveInReset(HWAVEIN); -MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT); -MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT); + +MMRESULT +WINAPI +waveInGetDevCapsA( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbwic) LPWAVEINCAPSA pwic, + _In_ UINT cbwic); + +MMRESULT +WINAPI +waveInGetDevCapsW( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbwic) LPWAVEINCAPSW pwic, + _In_ UINT cbwic); + +MMRESULT +WINAPI +waveInGetErrorTextA( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +waveInGetErrorTextW( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPWSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +waveInOpen( + _Out_opt_ LPHWAVEIN, + _In_ UINT, + _In_ LPCWAVEFORMATEX, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR, + _In_ DWORD); + +MMRESULT WINAPI waveInClose(_In_ HWAVEIN); + +MMRESULT +WINAPI +waveInPrepareHeader( + _In_ HWAVEIN hwi, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT +WINAPI +waveInUnprepareHeader( + _In_ HWAVEIN hwi, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT +WINAPI +waveInAddBuffer( + _In_ HWAVEIN hwi, + _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, + _In_ UINT cbwh); + +MMRESULT WINAPI waveInStart(_In_ HWAVEIN); +MMRESULT WINAPI waveInStop(_In_ HWAVEIN); +MMRESULT WINAPI waveInReset(_In_ HWAVEIN); + +MMRESULT +WINAPI +waveInGetPosition( + _In_ HWAVEIN hwi, + _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, + _In_ UINT cbmmt); + +MMRESULT WINAPI waveInGetID(_In_ HWAVEIN, _In_ LPUINT); + #if (WINVER >= 0x030a) #ifdef _WIN32 -MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD_PTR,DWORD_PTR); +MMRESULT WINAPI waveInMessage(_In_opt_ HWAVEIN, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); #else DWORD WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD); #endif #endif UINT WINAPI midiOutGetNumDevs(void); -MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI midiStreamClose(HMIDISTRM); -MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD); -MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT); -MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT); -MMRESULT WINAPI midiStreamPause(HMIDISTRM); -MMRESULT WINAPI midiStreamRestart(HMIDISTRM); -MMRESULT WINAPI midiStreamStop(HMIDISTRM); -MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID); -MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID); -MMRESULT WINAPI midiOutGetDevCapsA(UINT_PTR,LPMIDIOUTCAPSA,UINT); -MMRESULT WINAPI midiOutGetDevCapsW(UINT_PTR,LPMIDIOUTCAPSW,UINT); -MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD); -MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD); -MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT); -MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT); -MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI midiOutClose(HMIDIOUT); -MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT); -MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT); -MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD); -MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT); -MMRESULT WINAPI midiOutReset(HMIDIOUT); -MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT); -MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT); -MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT); + +MMRESULT +WINAPI +midiStreamOpen( + _Out_ LPHMIDISTRM phms, + _Inout_updates_(cMidi) LPUINT puDeviceID, + _In_ DWORD cMidi, + _In_opt_ DWORD_PTR dwCallback, + _In_opt_ DWORD_PTR dwInstance, + _In_ DWORD fdwOpen); + +MMRESULT WINAPI midiStreamClose(_In_ HMIDISTRM); + +MMRESULT +WINAPI +midiStreamProperty( + _In_ HMIDISTRM hms, + _Inout_updates_bytes_(sizeof(DWORD) + sizeof(DWORD)) LPBYTE lppropdata, + _In_ DWORD dwProperty); + +MMRESULT +WINAPI +midiStreamPosition( + _In_ HMIDISTRM hms, + _Out_writes_bytes_(cbmmt) LPMMTIME lpmmt, + _In_ UINT cbmmt); + +MMRESULT +WINAPI +midiStreamOut( + _In_ HMIDISTRM hms, + _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT WINAPI midiStreamPause(_In_ HMIDISTRM); +MMRESULT WINAPI midiStreamRestart(_In_ HMIDISTRM); +MMRESULT WINAPI midiStreamStop(_In_ HMIDISTRM); +MMRESULT WINAPI midiConnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID); +MMRESULT WINAPI midiDisconnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID); + +MMRESULT +WINAPI +midiOutGetDevCapsA( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSA pmoc, + _In_ UINT cbmoc); + +MMRESULT +WINAPI +midiOutGetDevCapsW( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSW pmoc, + _In_ UINT cbmoc); + +MMRESULT WINAPI midiOutGetVolume(_In_opt_ HMIDIOUT, _Out_ PDWORD); +MMRESULT WINAPI midiOutSetVolume(_In_opt_ HMIDIOUT, _In_ DWORD); + +MMRESULT +WINAPI +midiOutGetErrorTextA( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +midiOutGetErrorTextW( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPWSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +midiOutOpen( + _Out_ LPHMIDIOUT, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR, + _In_ DWORD); + +MMRESULT WINAPI midiOutClose(_In_ HMIDIOUT); + +MMRESULT +WINAPI +midiOutPrepareHeader( + _In_ HMIDIOUT hmo, + _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT +WINAPI +midiOutUnprepareHeader( + _In_ HMIDIOUT hmo, + _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT WINAPI midiOutShortMsg(_In_ HMIDIOUT, _In_ DWORD); + +MMRESULT +WINAPI +midiOutLongMsg( + _In_ HMIDIOUT hmo, + _In_reads_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT WINAPI midiOutReset(_In_ HMIDIOUT); + +MMRESULT +WINAPI +midiOutCachePatches( + _In_ HMIDIOUT hmo, + _In_ UINT uBank, + _In_reads_(MIDIPATCHSIZE) LPWORD pwpa, + _In_ UINT fuCache); + +MMRESULT +WINAPI +midiOutCacheDrumPatches( + _In_ HMIDIOUT hmo, + _In_ UINT uPatch, + _In_reads_(MIDIPATCHSIZE) LPWORD pwkya, + _In_ UINT fuCache); + +MMRESULT WINAPI midiOutGetID(_In_ HMIDIOUT, _Out_ LPUINT); + #if (WINVER >= 0x030a) #ifdef _WIN32 -MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD_PTR,DWORD_PTR); +MMRESULT WINAPI midiOutMessage(_In_opt_ HMIDIOUT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); #else DWORD WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD); #endif #endif + UINT WINAPI midiInGetNumDevs(void); -MMRESULT WINAPI midiInGetDevCapsA(UINT_PTR,LPMIDIINCAPSA,UINT); -MMRESULT WINAPI midiInGetDevCapsW(UINT_PTR,LPMIDIINCAPSW,UINT); -MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT); -MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT); -MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI midiInClose(HMIDIIN); -MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT); -MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT); -MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT); -MMRESULT WINAPI midiInStart(HMIDIIN); -MMRESULT WINAPI midiInStop(HMIDIIN); -MMRESULT WINAPI midiInReset(HMIDIIN); -MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT); + +MMRESULT +WINAPI +midiInGetDevCapsA( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbmic) LPMIDIINCAPSA pmic, + _In_ UINT cbmic); + +MMRESULT +WINAPI +midiInGetDevCapsW( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbmic) LPMIDIINCAPSW pmic, + _In_ UINT cbmic); + +MMRESULT +WINAPI +midiInGetErrorTextA( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +midiInGetErrorTextW( + _In_ MMRESULT mmrError, + _Out_writes_(cchText) LPWSTR pszText, + _In_ UINT cchText); + +MMRESULT +WINAPI +midiInOpen( + _Out_ LPHMIDIIN, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR, + _In_ DWORD); + +MMRESULT WINAPI midiInClose(_In_ HMIDIIN); + +MMRESULT +WINAPI +midiInPrepareHeader( + _In_ HMIDIIN hmi, + _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT +WINAPI +midiInUnprepareHeader( + _In_ HMIDIIN hmi, + _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT +WINAPI +midiInAddBuffer( + _In_ HMIDIIN hmi, + _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, + _In_ UINT cbmh); + +MMRESULT WINAPI midiInStart(_In_ HMIDIIN); +MMRESULT WINAPI midiInStop(_In_ HMIDIIN); +MMRESULT WINAPI midiInReset(_In_ HMIDIIN); +MMRESULT WINAPI midiInGetID(_In_ HMIDIIN, _Out_ LPUINT); + #if (WINVER >= 0x030a) #ifdef _WIN32 -MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD_PTR,DWORD_PTR); +MMRESULT WINAPI midiInMessage(_In_opt_ HMIDIIN, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); #else DWORD WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD); #endif #endif + UINT WINAPI auxGetNumDevs(void); -MMRESULT WINAPI auxGetDevCapsA(UINT_PTR,LPAUXCAPSA,UINT); -MMRESULT WINAPI auxGetDevCapsW(UINT_PTR,LPAUXCAPSW,UINT); -MMRESULT WINAPI auxSetVolume(UINT,DWORD); -MMRESULT WINAPI auxGetVolume(UINT,PDWORD); -MMRESULT WINAPI auxOutMessage(UINT,UINT,DWORD_PTR,DWORD_PTR); + +MMRESULT +WINAPI +auxGetDevCapsA( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbac) LPAUXCAPSA pac, + _In_ UINT cbac); + +MMRESULT +WINAPI +auxGetDevCapsW( + _In_ UINT_PTR uDeviceID, + _Out_writes_bytes_(cbac) LPAUXCAPSW pac, + _In_ UINT cbac); + +MMRESULT WINAPI auxSetVolume(_In_ UINT, _In_ DWORD); +MMRESULT WINAPI auxGetVolume(_In_ UINT, _Out_ PDWORD); + +MMRESULT +WINAPI +auxOutMessage( + _In_ UINT, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR); + UINT WINAPI mixerGetNumDevs(void); -MMRESULT WINAPI mixerGetDevCapsA(UINT_PTR,LPMIXERCAPSA,UINT); -MMRESULT WINAPI mixerGetDevCapsW(UINT_PTR,LPMIXERCAPSW,UINT); -MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD_PTR,DWORD_PTR,DWORD); -MMRESULT WINAPI mixerClose(HMIXER); -DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD_PTR,DWORD_PTR); -MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD); -MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD); -MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD); -MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD); -MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD); -MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); -MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); -MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); -MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT); + +MMRESULT +WINAPI +mixerGetDevCapsA( + _In_ UINT_PTR uMxId, + _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSA pmxcaps, + _In_ UINT cbmxcaps); + +MMRESULT +WINAPI +mixerGetDevCapsW( + _In_ UINT_PTR uMxId, + _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSW pmxcaps, + _In_ UINT cbmxcaps); + +MMRESULT +WINAPI +mixerOpen( + _Out_opt_ LPHMIXER, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR, + _In_ DWORD); + +MMRESULT WINAPI mixerClose(_In_ HMIXER); + +DWORD +WINAPI +mixerMessage( + _In_opt_ HMIXER, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR); + +MMRESULT +WINAPI +mixerGetLineInfoA( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERLINEA, + _In_ DWORD); + +MMRESULT +WINAPI +mixerGetLineInfoW( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERLINEW, + _In_ DWORD); + +MMRESULT WINAPI mixerGetID(_In_opt_ HMIXEROBJ, _Out_ PUINT, _In_ DWORD); + +MMRESULT +WINAPI +mixerGetLineControlsA( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERLINECONTROLSA, + _In_ DWORD); + +MMRESULT +WINAPI +mixerGetLineControlsW( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERLINECONTROLSW, + _In_ DWORD); + +MMRESULT +WINAPI +mixerGetControlDetailsA( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERCONTROLDETAILS, + _In_ DWORD); + +MMRESULT +WINAPI +mixerGetControlDetailsW( + _In_opt_ HMIXEROBJ, + _Inout_ LPMIXERCONTROLDETAILS, + _In_ DWORD); + +MMRESULT +WINAPI +mixerSetControlDetails( + _In_opt_ HMIXEROBJ, + _In_ LPMIXERCONTROLDETAILS, + _In_ DWORD); + +MMRESULT +WINAPI +timeGetSystemTime( + _Out_writes_bytes_(cbmmt) LPMMTIME pmmt, + _In_ UINT cbmmt); + DWORD WINAPI timeGetTime(void); -MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD_PTR,UINT); -MMRESULT WINAPI timeKillEvent(UINT); -MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT); -MMRESULT WINAPI timeBeginPeriod(UINT); -MMRESULT WINAPI timeEndPeriod(UINT); + +MMRESULT +WINAPI +timeSetEvent( + _In_ UINT, + _In_ UINT, + _In_ LPTIMECALLBACK, + _In_ DWORD_PTR, + _In_ UINT); + +MMRESULT WINAPI timeKillEvent(_In_ UINT); + +MMRESULT +WINAPI +timeGetDevCaps( + _Out_writes_bytes_(cbtc) LPTIMECAPS ptc, + _In_ UINT cbtc); + +MMRESULT WINAPI timeBeginPeriod(_In_ UINT); +MMRESULT WINAPI timeEndPeriod(_In_ UINT); UINT WINAPI joyGetNumDevs(void); -MMRESULT WINAPI joyGetDevCapsA(UINT_PTR,LPJOYCAPSA,UINT); -MMRESULT WINAPI joyGetDevCapsW(UINT_PTR,LPJOYCAPSW,UINT); -MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO); -MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX); -MMRESULT WINAPI joyGetThreshold(UINT,LPUINT); -MMRESULT WINAPI joyReleaseCapture(UINT); -MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL); -MMRESULT WINAPI joySetThreshold(UINT,UINT); -FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT); -FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT); -LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD); -LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD); -HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD); -HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD); -MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD); -MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD); -MMRESULT WINAPI mmioClose(HMMIO,UINT); -LONG WINAPI mmioRead(HMMIO,HPSTR,LONG); -LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG); -LONG WINAPI mmioSeek(HMMIO,LONG,int); -MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT); -MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT); -MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT); -MMRESULT WINAPI mmioFlush(HMMIO,UINT); -MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT); -LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM); -MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT); -MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT); -MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT); -MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR); -MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR); -MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND); -MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND); -MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR); -MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR); -MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR); -MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR); -BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT); -BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT); -BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD); -HTASK WINAPI mciGetCreatorTask(MCIDEVICEID); -YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD); + +MMRESULT +WINAPI +joyGetDevCapsA( + _In_ UINT_PTR uJoyID, + _Out_writes_bytes_(cbjc) LPJOYCAPSA pjc, + _In_ UINT cbjc); + +MMRESULT +WINAPI +joyGetDevCapsW( + _In_ UINT_PTR uJoyID, + _Out_writes_bytes_(cbjc) LPJOYCAPSW pjc, + _In_ UINT cbjc); + +MMRESULT WINAPI joyGetPos(_In_ UINT, _Out_ LPJOYINFO); +MMRESULT WINAPI joyGetPosEx(_In_ UINT, _Out_ LPJOYINFOEX); +MMRESULT WINAPI joyGetThreshold(_In_ UINT, _Out_ LPUINT); +MMRESULT WINAPI joyReleaseCapture(_In_ UINT); +MMRESULT WINAPI joySetCapture(_In_ HWND, _In_ UINT, _In_ UINT, _In_ BOOL); +MMRESULT WINAPI joySetThreshold(_In_ UINT, _In_ UINT); +FOURCC WINAPI mmioStringToFOURCCA(LPCSTR, _In_ UINT); +FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR, _In_ UINT); + +LPMMIOPROC +WINAPI +mmioInstallIOProcA( + _In_ FOURCC, + _In_opt_ LPMMIOPROC, + _In_ DWORD); + +LPMMIOPROC +WINAPI +mmioInstallIOProcW( + _In_ FOURCC, + _In_opt_ LPMMIOPROC, + _In_ DWORD); + +HMMIO +WINAPI +mmioOpenA( + _Inout_updates_bytes_opt_(128) LPSTR pszFileName, + _Inout_opt_ LPMMIOINFO pmmioinfo, + _In_ DWORD fdwOpen); + +HMMIO +WINAPI +mmioOpenW( + _Inout_updates_bytes_opt_(128) LPWSTR pszFileName, + _Inout_opt_ LPMMIOINFO pmmioinfo, + _In_ DWORD fdwOpen); + +MMRESULT +WINAPI +mmioRenameA( + _In_ LPCSTR, + _In_ LPCSTR, + _In_opt_ LPCMMIOINFO, + _In_ DWORD); + +MMRESULT +WINAPI +mmioRenameW( + _In_ LPCWSTR, + _In_ LPCWSTR, + _In_opt_ LPCMMIOINFO, + _In_ DWORD); + +MMRESULT WINAPI mmioClose(_In_ HMMIO, _In_ UINT); + +LONG +WINAPI +mmioRead( + _In_ HMMIO hmmio, + _Out_writes_bytes_(cch) HPSTR pch, + _In_ LONG cch); + +LONG +WINAPI +mmioWrite( + _In_ HMMIO hmmio, + _In_reads_bytes_(cch) const char _huge * pch, + _In_ LONG cch); + +LONG WINAPI mmioSeek(_In_ HMMIO, _In_ LONG, _In_ int); +MMRESULT WINAPI mmioGetInfo(_In_ HMMIO, _Out_ LPMMIOINFO, _In_ UINT); +MMRESULT WINAPI mmioSetInfo(_In_ HMMIO, _In_ LPCMMIOINFO, _In_ UINT); + +MMRESULT +WINAPI +mmioSetBuffer( + _In_ HMMIO hmmio, + _Out_writes_opt_(cchBuffer) LPSTR pchBuffer, + _In_ LONG cchBuffer, + _In_ UINT fuBuffer); + +MMRESULT WINAPI mmioFlush(_In_ HMMIO, _In_ UINT); +MMRESULT WINAPI mmioAdvance(_In_ HMMIO, _In_opt_ LPMMIOINFO, _In_ UINT); + +LRESULT +WINAPI +mmioSendMessage( + _In_ HMMIO, + _In_ UINT, + _In_opt_ LPARAM, + _In_opt_ LPARAM); + +MMRESULT +WINAPI +mmioDescend( + _In_ HMMIO, + _Inout_ LPMMCKINFO, + _In_opt_ const MMCKINFO*, + _In_ UINT); + +MMRESULT WINAPI mmioAscend(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT); +MMRESULT WINAPI mmioCreateChunk(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT); + +MCIERROR +WINAPI +mciSendCommandA( + _In_ MCIDEVICEID, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR); + +MCIERROR +WINAPI +mciSendCommandW( + _In_ MCIDEVICEID, + _In_ UINT, + _In_opt_ DWORD_PTR, + _In_opt_ DWORD_PTR); + +MCIERROR +WINAPI +mciSendStringA( + _In_ LPCSTR lpstrCommand, + _Out_writes_opt_(uReturnLength) LPSTR lpstrReturnString, + _In_ UINT uReturnLength, + _In_opt_ HWND hwndCallback); + +MCIERROR +WINAPI +mciSendStringW( + _In_ LPCWSTR lpstrCommand, + _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString, + _In_ UINT uReturnLength, + _In_opt_ HWND hwndCallback); + +MCIDEVICEID WINAPI mciGetDeviceIDA(_In_ LPCSTR); +MCIDEVICEID WINAPI mciGetDeviceIDW(_In_ LPCWSTR); +MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(_In_ DWORD, _In_ LPCSTR); +MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(_In_ DWORD, _In_ LPCWSTR); + +BOOL +WINAPI +mciGetErrorStringA( + _In_ MCIERROR mcierr, + _Out_writes_(cchText) LPSTR pszText, + _In_ UINT cchText); + +BOOL +WINAPI +mciGetErrorStringW( + _In_ MCIERROR mcierr, + _Out_writes_(cchText) LPWSTR pszText, + _In_ UINT cchText); + +BOOL WINAPI mciSetYieldProc(_In_ MCIDEVICEID, _In_opt_ YIELDPROC, _In_ DWORD); +HTASK WINAPI mciGetCreatorTask(_In_ MCIDEVICEID); +YIELDPROC WINAPI mciGetYieldProc(_In_ MCIDEVICEID, _In_ PDWORD); #ifdef _WINE DWORD WINAPI GetDriverFlags(HDRVR hDriver);
11 years, 4 months
1
0
0
0
[akhaldi] 59695: [PSDK] * Remove redundant GetUserDefaultUILanguage() declaration.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Aug 10 23:31:33 2013 New Revision: 59695 URL:
http://svn.reactos.org/svn/reactos?rev=59695&view=rev
Log: [PSDK] * Remove redundant GetUserDefaultUILanguage() declaration. Modified: trunk/reactos/include/psdk/winnls.h Modified: trunk/reactos/include/psdk/winnls.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnls.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/winnls.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winnls.h [iso-8859-1] Sat Aug 10 23:31:33 2013 @@ -824,7 +824,6 @@ int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); LANGID WINAPI GetUserDefaultLangID(void); LCID WINAPI GetUserDefaultLCID(void); -LANGID WINAPI GetUserDefaultUILanguage(void); GEOID WINAPI GetUserGeoID(_In_ GEOCLASS); BOOL WINAPI IsDBCSLeadByte(_In_ BYTE); BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE);
11 years, 4 months
1
0
0
0
[akhaldi] 59694: [CRT] * Annotate tchar_s.h.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Aug 10 22:07:04 2013 New Revision: 59694 URL:
http://svn.reactos.org/svn/reactos?rev=59694&view=rev
Log: [CRT] * Annotate tchar_s.h. Modified: trunk/reactos/include/crt/sec_api/tchar_s.h Modified: trunk/reactos/include/crt/sec_api/tchar_s.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/sec_api/tchar_…
============================================================================== --- trunk/reactos/include/crt/sec_api/tchar_s.h [iso-8859-1] (original) +++ trunk/reactos/include/crt/sec_api/tchar_s.h [iso-8859-1] Sat Aug 10 22:07:04 2013 @@ -3,6 +3,7 @@ * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */ + #ifndef _INC_TCHAR_S #define _INC_TCHAR_S @@ -107,7 +108,7 @@ #define _wcsnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_wcsnset_s(_Destination,_Destination_size_chars,_Value,_Count)) #define _wcsset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_wcsset_s(_Destination,_Destination_size_chars,_Value)) -#else +#else /* _UNICODE */ #define _tprintf_s printf_s #define _tprintf_s_l _printf_s_l @@ -208,28 +209,156 @@ #define _tccpy_s _mbccpy_s #define _tccpy_s_l _mbccpy_s_l -#else - - _CRTIMP char *__cdecl _tcsncat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); - _CRTIMP char *__cdecl _tcsncat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); - _CRTIMP char *__cdecl _tcsncpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); - _CRTIMP char *__cdecl _tcsncpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); - _CRTIMP char *__cdecl _tcstok_s(char *_Str,const char *_Delim,char **_Context); - _CRTIMP char *__cdecl _tcstok_s_l(char *_Str,const char *_Delim,char **_Context,_locale_t _Locale); - _CRTIMP errno_t __cdecl _tcsset_s(char *_Str,size_t _SizeInChars,unsigned int _Val); - _CRTIMP errno_t __cdecl _tcsset_s_l(char *_Str,size_t _SizeInChars,unsigned int,_locale_t _Locale); - _CRTIMP char *__cdecl _tcsnccat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); - _CRTIMP char *__cdecl _tcsnccat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); - _CRTIMP char *__cdecl _tcsnccpy_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount); - _CRTIMP char *__cdecl _tcsnccpy_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); - _CRTIMP char *__cdecl _tcslwr_s(char *_Str,size_t _SizeInChars); - _CRTIMP char *__cdecl _tcslwr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale); - _CRTIMP char *__cdecl _tcsupr_s(char *_Str,size_t _SizeInChars); - _CRTIMP char *__cdecl _tcsupr_s_l(char *_Str,size_t _SizeInChars,_locale_t _Locale); - -#endif - -#else + +#else /* _MB_MAP_DIRECT */ + + _CRTIMP + char * + __cdecl + _tcsncat_s( + _Inout_updates_z_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount); + + _CRTIMP + char * + __cdecl + _tcsncat_s_l( + _Inout_updates_z_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount, + _In_opt_ _locale_t _Locale); + + _CRTIMP + char * + __cdecl + _tcsncpy_s( + _Out_writes_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount); + + _CRTIMP + char * + __cdecl + _tcsncpy_s_l( + _Out_writes_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount, + _In_opt_ _locale_t _Locale); + + _Check_return_ + _CRTIMP + char * + __cdecl + _tcstok_s( + _Inout_opt_ char *_Str, + _In_z_ const char *_Delim, + _Inout_ _Deref_prepost_opt_z_ char **_Context); + + _Check_return_ + _CRTIMP + char * + __cdecl + _tcstok_s_l( + _Inout_opt_ char *_Str, + _In_z_ const char *_Delim, + _Inout_ _Deref_prepost_opt_z_ char **_Context, + _In_opt_ _locale_t _Locale); + + _Check_return_wat_ + _CRTIMP + errno_t + __cdecl + _tcsset_s( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars, + _In_ unsigned int _Val); + + _Check_return_wat_ + _CRTIMP + errno_t + __cdecl + _tcsset_s_l( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars, + _In_ unsigned int, + _In_opt_ _locale_t _Locale); + + _CRTIMP + char * + __cdecl + _tcsnccat_s( + _Inout_updates_z_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount); + + _CRTIMP + char * + __cdecl + _tcsnccat_s_l( + _Inout_updates_z_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount, + _In_opt_ _locale_t _Locale); + + _CRTIMP + char * + __cdecl + _tcsnccpy_s( + _Out_writes_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount); + + _CRTIMP + char * + __cdecl + _tcsnccpy_s_l( + _Out_writes_(_DstSizeInChars) char *_Dst, + _In_ size_t _DstSizeInChars, + _In_z_ const char *_Src, + _In_ size_t _MaxCount, + _In_opt_ _locale_t _Locale); + + _CRTIMP + char * + __cdecl + _tcslwr_s( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars); + + _CRTIMP + char * + __cdecl + _tcslwr_s_l( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars, + _In_opt_ _locale_t _Locale); + + _CRTIMP + char * + __cdecl + _tcsupr_s( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars); + + _CRTIMP + char * + __cdecl + _tcsupr_s_l( + _Inout_updates_z_(_SizeInChars) char *_Str, + _In_ size_t _SizeInChars, + _In_opt_ _locale_t _Locale); + +#endif /* _MB_MAP_DIRECT */ + +#else /* _MBCS */ #define _tcsncat_s strncat_s #define _tcsncat_s_l _strncat_s_l @@ -256,11 +385,15 @@ #define _strnset_s_l(_Destination,_Destination_size_chars,_Value,_Count,_Locale) (_strnset_s(_Destination,_Destination_size_chars,_Value,_Count)) #define _strset_s_l(_Destination,_Destination_size_chars,_Value,_Locale) (_strset_s(_Destination,_Destination_size_chars,_Value)) -#endif -#endif + +#endif /* _MBCS */ + +#endif /* _UNICODE */ #ifdef __cplusplus } #endif -#endif -#endif + +#endif /* MINGW_HAS_SECURE_API */ + +#endif /* _INC_TCHAR_S */
11 years, 4 months
1
0
0
0
[aandrejevic] 59693: [NTVDM] Use DOS_CMDLINE_LENGTH instead of MAX_PATH. Fix bug in DosInitializePsp which allowed writing past the end of the Program Segment Prefix (PSP).
by aandrejevic@svn.reactos.org
Author: aandrejevic Date: Sat Aug 10 21:41:20 2013 New Revision: 59693 URL:
http://svn.reactos.org/svn/reactos?rev=59693&view=rev
Log: [NTVDM] Use DOS_CMDLINE_LENGTH instead of MAX_PATH. Fix bug in DosInitializePsp which allowed writing past the end of the Program Segment Prefix (PSP). Modified: branches/ntvdm/subsystems/ntvdm/dos.c branches/ntvdm/subsystems/ntvdm/ntvdm.c Modified: branches/ntvdm/subsystems/ntvdm/dos.c URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/dos.c?re…
============================================================================== --- branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] Sat Aug 10 21:41:20 2013 @@ -864,7 +864,7 @@ PspBlock->FarCall[2] = 0xCB; // retf /* Set the command line */ - PspBlock->CommandLineSize = (BYTE)min(strlen(CommandLine), DOS_CMDLINE_LENGTH); + PspBlock->CommandLineSize = (BYTE)min(strlen(CommandLine), DOS_CMDLINE_LENGTH - 1); RtlCopyMemory(PspBlock->CommandLine, CommandLine, PspBlock->CommandLineSize); PspBlock->CommandLine[PspBlock->CommandLineSize] = '\r'; } @@ -875,7 +875,7 @@ HANDLE FileHandle = INVALID_HANDLE_VALUE, FileMapping = NULL; LPBYTE Address = NULL; LPSTR ProgramFilePath, Parameters[256]; - CHAR CommandLineCopy[MAX_PATH]; + CHAR CommandLineCopy[DOS_CMDLINE_LENGTH]; INT ParamCount = 0; WORD Segment = 0; WORD MaxAllocSize; Modified: branches/ntvdm/subsystems/ntvdm/ntvdm.c URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/ntvdm.c?…
============================================================================== --- branches/ntvdm/subsystems/ntvdm/ntvdm.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/ntvdm.c [iso-8859-1] Sat Aug 10 21:41:20 2013 @@ -77,7 +77,7 @@ INT wmain(INT argc, WCHAR *argv[]) { INT i; - CHAR CommandLine[MAX_PATH]; + CHAR CommandLine[DOS_CMDLINE_LENGTH]; DWORD CurrentTickCount; DWORD LastTickCount = GetTickCount(); DWORD Cycles = 0;
11 years, 4 months
1
0
0
0
← Newer
1
...
21
22
23
24
25
26
27
...
33
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Results per page:
10
25
50
100
200