ace*_*ace 2 c++ windows api nt-native-api
我对Windows Native API很好奇.我一直在网上搜索,但未能找到从用户模式调用Native API函数的示例.我相信我对这需要有一个基本的把握 - 具体来说,我必须在我的程序中定义常量和本机API函数,并使用GetProcAddress在ntdll.dll中查找函数,然后调用该函数.
这是正确的,任何人都可以引导我朝着正确的方向前进吗?示例代码将成为我的一天,因为我完全没有找到它.
我在这里遇到了这个代码(http://www.eggheadcafe.com/software/aspnet/31520494/native-application--ntc.aspx),但在我看来它打算在内核模式下运行:
NTSTATUS ntStatus = STATUS_SUCCESS;
UNICODE_STRING szPath = {0};
OBJECT_ATTRIBUTES Attr = {0};
IO_STATUS_BLOCK IoStatusBlock = {0};
HANDLE hBeep = 0;
RtlInitUnicodeString(&szPath, L"\\??\\C:\\A.TXT");
InitializeObjectAttributes(&Attr, &szPath, 0, NULL, NULL);
ntStatus = NtCreateFile(&hBeep, GENERIC_READ, &Attr, &IoStatusBlock, NULL,
0, FILE_SHARE_READ, FILE_OPEN, 0, NULL, 0);
if (hBeep != NULL)
{
NtClose(ntStatus);
Run Code Online (Sandbox Code Playgroud)
如何修改此代码以在用户模式下运行?我正在用c ++工作,你可能已经猜到了这一点.
提前致谢.
| 归档时间: |
|
| 查看次数: |
3700 次 |
| 最近记录: |