- Add a new routine to NtUSerCallOneParam which returns newly created handles for icons and cursors

- Fix the NtUserGetIconSize prototype

svn path=/trunk/; revision=31289
This commit is contained in:
Ged Murphy 2007-12-17 09:40:48 +00:00
parent 5d9d776a8e
commit 6d9378a1fd
2 changed files with 23 additions and 4 deletions

View file

@ -676,9 +676,6 @@ CLEANUP:
}
/* for hints how the prototype might be, see
http://forum.grafika.cz/read.php?23,1816012,1816139,quote=1
http://www.cyber-ta.org/releases/malware-analysis/public/SOURCES/b47155634ccb2c30630da7e3666d3d07/b47155634ccb2c30630da7e3666d3d07.trace.html#NtUserGetIconSize */
/*
* @implemented
*/
@ -686,7 +683,7 @@ BOOL
NTAPI
NtUserGetIconSize(
HANDLE hCurIcon,
DWORD dwUnknown2, // Most of the time Zero.
UINT istepIfAniCur,
PLONG plcx, // &size.cx
PLONG plcy) // &size.cy
{

View file

@ -353,6 +353,28 @@ NtUserCallOneParam(
case ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO:
RETURN( (DWORD)MsqSetMessageExtraInfo((LPARAM)Param));
case ONEPARAM_ROUTINE_CREATECURICONHANDLE:
{
PCURICON_OBJECT CurIcon;
PWINSTATION_OBJECT WinSta;
WinSta = IntGetWinStaObj();
if(WinSta == NULL)
{
RETURN(0);
}
if (!(CurIcon = IntCreateCurIconHandle(WinSta)))
{
SetLastWin32Error(ERROR_NOT_ENOUGH_MEMORY);
ObDereferenceObject(WinSta);
RETURN(0);
}
ObDereferenceObject(WinSta);
RETURN((DWORD)CurIcon->Self);
}
case ONEPARAM_ROUTINE_GETCURSORPOSITION:
{
PWINSTATION_OBJECT WinSta;