问题标签 [nt-native-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
171 浏览

c# - 使用 Win NT 内核 API 连接大文件

我一直在寻找一种将大文件(几千兆字节)连接在一起而不必重写其中一个文件的方法。我确信操作系统在操作主文件表时会在内部执行此操作。这纯粹是针对速度至关重要的内部应用程序,即使以数据完整性为代价(如果冒着未记录的 API 的风险)。该应用程序处理大量高带宽、多通道以太网数据,其中损坏的工作单元(在本例中为文件)不会对整体处理结果产生很大影响。

在合并文件A和的那一刻B,所涉及的工作量等于:A[Read] + B[Read] +C[Write]`。你们中的任何一位 NT 专家会阐明如何解决这个问题以直接进入 MFT 吗?

我无法获得有关要探索哪个 API 的任何线索,并且希望得到一些指示。尽管该应用程序处于托管状态,但我很乐意探索原生 API,甚至设置轻量级 VM 进行测试。

提前致谢。

0 投票
1 回答
898 浏览

python - Python NtQueryDirectoryFile(文件信息结构)

我编写了一个简单的(测试)脚本来列出选定目录中的文件。不使用FindFirstFile;仅本机 API。当我执行脚本并观察时,Win32API 监视器告诉我 STATUS_SUCCESS。我的文件信息缓冲区是c_buffer(1024),不使用 Unicode 缓冲区来查看原始数据。

所以打电话后NtQueryDirectoryFile一切正常。当我c_buffer以原始模式写入控制台以查看目录中的文件时,输出不是结构化的。我创建了一个 FILE_DIRECTORY_INFORMATION 结构,但它不能在 Windows 7 X86 上运行,或者我的代码有问题。

我的问题:请告诉我在 Windows 7 X86 或任何变体上使用哪个 FILE_DIRECTORY_INFORMATION 结构

未优化。

0 投票
2 回答
5087 浏览

c - what does STATUS_PENDING mean?

I am not getting concept regarding NT processes as I am using native APIs.Since they are returning values like STATUS_TIMEOUT, STATUS_PENDING etc.What does STATUS_PENDING really mean?

My code goes like this.

Here,NtReadFile() is returning STATUS_PENDING, what does that means?

0 投票
2 回答
1324 浏览

c# - 如何将托管 wifi API 添加到工作项目

因为这个问题,我会提前道歉。

我是 C# 的一个小新手,我不知道如何使用托管 WiFi API以及如何将类添加到工作项目中,有人帮助我吗?

我已经下载了托管 WIFI API库,并且有一些类型的类和其他东西,但我不知道如何使用它们。Interop.cs、ManagedWifi.csproj、WlanApi.cs和最后的AssemblyInfo.cs类可用,您能帮我使用它们吗?

提前致谢。

0 投票
2 回答
440 浏览

c++ - Windows 原生开发:debuggee 尝试从 system32 加载 werkernel.sys

我现在正在研究 Windows Native API,Nt*/Zw*方法。我下载了 WDK,安装并成功编译了一个应用程序(x64,在 Win 8.1 x64 下,VS2013)。它唯一做的就是调用NtOpenFile().

为了成功编译/链接它,我必须对项目属性(驱动程序模板应用程序)进行以下更改:

  • 从 WDK 添加包含文件夹
  • 从 WDK 添加 Lib 文件夹
  • 告诉链接器使用 ntoskrnl.lib

出乎意料的是,在运行调试器时,我收到错误消息“程序无法启动,因为您的计算机中缺少 C:\Windows\SYSTEM32\werkernel.sys。请尝试重新安装程序以解决此问题。” werkernel.sys 显然存在于 system32\drivers 中。

编辑:需要明确的是,通过双击图标启动应用程序时也会发生上述错误。

这种加载发生在我的任何代码之前,我在互联网上的任何地方都找不到任何东西,也无法在相关文件的项目属性中找到任何东西。因此,总而言之,到目前为止,我有以下问题:

  1. 为什么要为我的应用程序加载 werkernel.sys?
  2. 为什么它是从 System32 加载的?

我知道这是可能的mklink werkernel.sys drivers\werkernel.sys,但感觉就像我在做一些非常错误的事情。

0 投票
2 回答
4955 浏览

c++ - NTSTATUS 无法解决

我试图制作一个程序女巫将通过进程 ID 获取进程的命令行。我正在使用 eclipse c++ 和 mingw 编译器

所以我找到了一个 1 教程如何做到这一点,它需要ntstatus就像我包含的教程一样#include <ntstatus.h>

我添加了代码的第一部分是什么:

我gettig这3个错误:

在这条线上:typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(

我用谷歌搜索了这个问题,但我没有找到它......

0 投票
1 回答
797 浏览

c++ - 如何使用 Windows Native API 访问 PE 资源?

我有一个包含嵌入式资源的Windows 本机应用程序,我想使用本机 API访问它们。是否有处理资源的本机函数(类似于FindResource / LoadResource)或者我必须创建自己的 PE 阅读器来提取它们?

0 投票
1 回答
196 浏览

c++ - 如何查看缓冲区的内容并与 dll 文件进行比较?

我尝试用 nativeApi 编写 dll 注入器。出于这个原因,我写了这段代码。NtReadFile 函数读取了一些东西,但除了 FileReadBuffer 的第一个值之外我什么都看不到。另外,我对 dll 如何查看缓冲区一无所知。

(1)如何比较缓冲区和dll文件?

(2)我如何确定代码运行正确。

(3) 请告诉我我在代码中的错误。

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
235 浏览

winapi - fastest way to retrieve CIFS file metadata

Situation: I am scanning a directory using NtQueryDirectoryFile(..., FileBothDirectoryInformation, ...). In addition to data returned by this call I need security data (typically returned by GetKernelObjectSecurity) and list of alternate streams (NtQueryInformationFile(..., FileStreamInformation)).

Problem: To retrieve security and alternate stream info I need to open (and close) each file. In my tests it slows down the operation by factor of 3. Adding GetKernelObjectSecurity and NtQueryInformationFile slows it down by factor of 4 (making it 12x).

Question: Is there a better/faster way to get this information (by either opening files faster or avoiding file open altogether)?

Ideas: If target file system is local I could access it directly and (knowing NTFS/FAT/etc details extract info from raw data). But it isn't going to work for remote file systems.

0 投票
1 回答
106 浏览

c++ - WlanGetProfileList 不返回设备重启后创建的配置文件

WlanGetProfileList 本机 api 按预期工作,直到设备重新启动。设备重启后,相同 api 的结果为空。但我仍然可以在 Windows Compact OS 的注册表值下看到创建的配置文件。

为了在 WINCE7 中启用 wifi 功能,我使用了 WLANTOOL。下面是来自 wlantool 的代码,用于获取创建的配置文件列表。

任何帮助,将不胜感激。提前致谢。