reactos操作系统实现(172)
NtUserTranslateMessage函数实现键盘的消息转换,实现代码如下:
#001 BOOL APIENTRY
#002 NtUserTranslateMessage(LPMSG lpMsg,
#003 HKL dwhkl)
#004 {
#005 NTSTATUS Status;
#006 MSG SafeMsg;
#007 DECLARE_RETURN(BOOL);
#008
进入界面临界区代码。
#009 DPRINT("Enter NtUserTranslateMessage/n");
#010 UserEnterExclusive();
#011
从用户空间拷贝消息到内核。
#012 Status = MmCopyFromCaller(&SafeMsg, lpMsg, sizeof(MSG));
#013 if(!NT_SUCCESS(Status))
#014 {
#015 SetLastNtError(Status);
#016 RETURN( FALSE);
#017 }
#018
调用函数IntTranslateKbdMessage来转换键盘消息。
#019 RETURN( IntTranslateKbdMessage(&SafeMsg, dwhkl));
#020
#021 CLEANUP:
#022 DPRINT("Leave NtUserTranslateMessage: ret=%i/n",_ret_);
#023 UserLeave();
#024 END_CLEANUP;
#025 }
相关文章
- reactos操作系统实现(19)
- reactos操作系统实现(21)
- reactos操作系统实现(26)
- reactos操作系统实现(27)
- reactos操作系统实现(5)
- reactos操作系统实现(6)
- reactos操作系统实现(56)
- reactos操作系统实现(59)
- reactos操作系统实现(60)
- reactos操作系统实现(61)
- reactos操作系统实现(62)
- reactos操作系统实现(116)
- reactos操作系统实现(130)
- reactos操作系统实现(128)
- reactos操作系统实现(147)
- reactos操作系统实现(143)
- reactos操作系统实现(149)
- reactos操作系统实现(190)
- reactos操作系统实现(171)
- Rocky 9.1操作系统实现zabbix6.0的安装部署实战