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} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |