mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[Win32SS] Add Driver Callback
Add user driver callback to be used later on.
This commit is contained in:
parent
d182f449fc
commit
40c42305c3
3 changed files with 36 additions and 1 deletions
|
@ -18,7 +18,8 @@
|
|||
#define USER32_CALLBACK_DDEGET (14)
|
||||
#define USER32_CALLBACK_SETOBM (15)
|
||||
#define USER32_CALLBACK_LPK (16)
|
||||
#define USER32_CALLBACK_MAXIMUM (16)
|
||||
#define USER32_CALLBACK_UMPD (17)
|
||||
#define USER32_CALLBACK_MAXIMUM (17)
|
||||
|
||||
typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
|
||||
{
|
||||
|
@ -186,4 +187,6 @@ NTSTATUS WINAPI
|
|||
User32CallOBMFromKernel(PVOID Arguments, ULONG ArgumentLength);
|
||||
NTSTATUS WINAPI
|
||||
User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength);
|
||||
NTSTATUS WINAPI
|
||||
User32CallUMPDFromKernel(PVOID Arguments, ULONG ArgumentLength);
|
||||
#endif /* __INCLUDE_USER32_CALLBACK_H */
|
||||
|
|
|
@ -1208,5 +1208,30 @@ co_IntSetupOBM(VOID)
|
|||
IntCbFreeMemory(Argument);
|
||||
}
|
||||
|
||||
LRESULT
|
||||
APIENTRY
|
||||
co_UserCBClientPrinterThunk( PVOID pkt, INT InSize, PVOID pvOutData, INT OutSize )
|
||||
{
|
||||
ULONG ResultLength;
|
||||
PVOID ResultPointer;
|
||||
NTSTATUS Status;
|
||||
UserLeaveCo();
|
||||
|
||||
Status = KeUserModeCallback(USER32_CALLBACK_UMPD,
|
||||
0,
|
||||
0,
|
||||
&ResultPointer,
|
||||
&ResultLength);
|
||||
|
||||
|
||||
UserEnterCo();
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
ERR("User UMPD callback failed!\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -206,6 +206,7 @@ PVOID apfnDispatch[USER32_CALLBACK_MAXIMUM + 1] =
|
|||
User32CallDDEGetFromKernel,
|
||||
User32CallOBMFromKernel,
|
||||
User32CallLPKFromKernel,
|
||||
User32CallUMPDFromKernel,
|
||||
};
|
||||
|
||||
|
||||
|
@ -663,3 +664,9 @@ NTSTATUS WINAPI User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength)
|
|||
|
||||
return ZwCallbackReturn(&bResult, sizeof(BOOL), STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
NTSTATUS WINAPI User32CallUMPDFromKernel(PVOID Arguments, ULONG ArgumentLength)
|
||||
{
|
||||
// = GdiPrinterThunk( , , );
|
||||
return ZwCallbackReturn(Arguments, ArgumentLength, STATUS_SUCCESS);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue