mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
NtUserSetWindowFNID is needed for supporting NtUserGetClassName bGetRealClass.
svn path=/trunk/; revision=33733
This commit is contained in:
parent
31335eaca5
commit
5cccc4e338
2 changed files with 61 additions and 10 deletions
|
@ -77,6 +77,7 @@ typedef struct _WINDOWCLASS
|
||||||
INT ClsExtra;
|
INT ClsExtra;
|
||||||
INT WndExtra;
|
INT WndExtra;
|
||||||
PVOID Dce;
|
PVOID Dce;
|
||||||
|
DWORD fnID;
|
||||||
HINSTANCE hInstance;
|
HINSTANCE hInstance;
|
||||||
HANDLE hIcon; /* FIXME - Use pointer! */
|
HANDLE hIcon; /* FIXME - Use pointer! */
|
||||||
HANDLE hIconSm; /* FIXME - Use pointer! */
|
HANDLE hIconSm; /* FIXME - Use pointer! */
|
||||||
|
@ -264,6 +265,32 @@ typedef struct _W32CLIENTINFO
|
||||||
PW32THREADINFO GetW32ThreadInfo(VOID);
|
PW32THREADINFO GetW32ThreadInfo(VOID);
|
||||||
PW32PROCESSINFO GetW32ProcessInfo(VOID);
|
PW32PROCESSINFO GetW32ProcessInfo(VOID);
|
||||||
|
|
||||||
|
// FNID's for NtUserSetWindowFNID
|
||||||
|
#define FNID_BUTTON 0x02A1
|
||||||
|
#define FNID_COMBOBOX 0x02A2
|
||||||
|
#define FNID_COMBOLBOX 0x02A3
|
||||||
|
#define FNID_DIALOG 0x02A4
|
||||||
|
#define FNID_EDIT 0x02A5
|
||||||
|
#define FNID_LISTBOX 0x02A6
|
||||||
|
#define FNID_MDICLIENT 0x02A7
|
||||||
|
#define FNID_STATIC 0x02A8
|
||||||
|
#define FNID_IME 0x02A9
|
||||||
|
|
||||||
|
#define FNID_DESTROY 0x4000 // This is sent when WM_NCDESTROY or in the support routine.
|
||||||
|
// Seen during WM_CREATE on error exit too.
|
||||||
|
|
||||||
|
// ICLS's for NtUserGetClassName FNID to ICLS
|
||||||
|
#define ICLS_BUTTON 0
|
||||||
|
#define ICLS_EDIT 1
|
||||||
|
#define ICLS_STATIC 2
|
||||||
|
#define ICLS_LISTBOX 3
|
||||||
|
#define ICLS_COMBOBOX 5
|
||||||
|
#define ICLS_MDICLIENT 6
|
||||||
|
#define ICLS_COMBOLBOX 7
|
||||||
|
#define ICLS_IME 15
|
||||||
|
#define ICLS_DIALOG 17
|
||||||
|
#define ICLS_END 31
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserAssociateInputContext(
|
NtUserAssociateInputContext(
|
||||||
|
@ -2186,11 +2213,11 @@ NtUserSetTimer
|
||||||
TIMERPROC lpTimerFunc
|
TIMERPROC lpTimerFunc
|
||||||
);
|
);
|
||||||
|
|
||||||
DWORD
|
BOOL
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserSetWindowFNID(
|
NtUserSetWindowFNID(
|
||||||
DWORD Unknown0,
|
HWND hWnd,
|
||||||
DWORD Unknown1);
|
WORD fnID);
|
||||||
|
|
||||||
LONG
|
LONG
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -4159,19 +4159,43 @@ CLEANUP:
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
DWORD STDCALL
|
BOOL STDCALL
|
||||||
NtUserSetWindowFNID(DWORD Unknown0,
|
NtUserSetWindowFNID(HWND hWnd,
|
||||||
DWORD Unknown1)
|
WORD fnID)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
PWINDOW_OBJECT Window;
|
||||||
|
PWINDOW Wnd;
|
||||||
|
DECLARE_RETURN(BOOL);
|
||||||
|
|
||||||
return 0;
|
DPRINT("Enter NtUserSetWindowFNID\n");
|
||||||
|
UserEnterExclusive();
|
||||||
|
|
||||||
|
if (!(Window = UserGetWindowObject(hWnd)))
|
||||||
|
{
|
||||||
|
RETURN( FALSE);
|
||||||
|
}
|
||||||
|
Wnd = Window->Wnd;
|
||||||
|
|
||||||
|
if (Wnd->Class)
|
||||||
|
{ // From user land we only set these.
|
||||||
|
if ((fnID != FNID_DESTROY) || ((fnID < FNID_BUTTON) && (fnID > FNID_IME)) )
|
||||||
|
{
|
||||||
|
RETURN( FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Wnd->Class->fnID |= fnID;
|
||||||
|
}
|
||||||
|
RETURN( TRUE);
|
||||||
|
|
||||||
|
CLEANUP:
|
||||||
|
DPRINT("Leave NtUserSetWindowFNID\n");
|
||||||
|
UserLeave();
|
||||||
|
END_CLEANUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue