問題タブ [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.
python - Python NtQueryDirectoryFile (ファイル情報構造体)
選択したディレクトリ内のファイルを一覧表示する簡単な (テスト) スクリプトを作成しました。使用していませんFindFirstFile
。ネイティブ API のみ。スクリプトを実行して監視すると、Win32API モニターが STATUS_SUCCESS を通知します。私のファイル情報バッファはc_buffer(1024)
です。生データを表示するために Unicode バッファを使用していません。
したがって、電話の後はNtQueryDirectoryFile
すべて問題ありません。c_buffer
ディレクトリ内のファイルを表示するために raw モードでコンソールに書き込むと、出力が構造化されません。FILE_DIRECTORY_INFORMATION 構造を作成しましたが、Windows 7 X86 で機能しないか、コードに問題があります。
私の質問: Windows 7 X86 またはそのバリアントで使用される FILE_DIRECTORY_INFORMATION 構造を教えてください
最適化されていません。
c - STATUS_PENDING とはどういう意味ですか?
ネイティブ API を使用しているため、NT プロセスに関する概念がSTATUS_TIMEOUT
わかりSTATUS_PENDING
ませSTATUS_PENDING
ん。
私のコードは次のようになります。
ここで、NtReadFile()
を返しSTATUS_PENDING
ていますが、それはどういう意味ですか?
c# - マネージド wifi API を作業プロジェクトに追加する方法
事前に質問のため、お詫び申し上げます。
私は C# の初心者で、Managed WiFi APIの使用方法と作業中のプロジェクトにクラスを追加する方法がわかりません。誰か助けてください。
Managed WIFI APIライブラリをダウンロードしましたが、いくつかの種類のクラスなどがありますが、それらの使用方法がわかりません。Interop.cs 、ManagedWifi.csproj、WlanApi.cs、そして最後にAssemblyInfo.csクラスが利用可能です。これらを使用するのを手伝ってもらえますか?
前もって感謝します。
c++ - Windows ネイティブ開発: デバッグ対象が system32 から werkernel.sys をロードしようとします
私は現在、Windows Native API、Nt*/Zw*
メソッドを調査しています。WDK をダウンロードしてインストールし、アプリケーション (x64、Win 8.1 x64、VS2013) を正常にコンパイルしました。それが行う唯一のことは、への呼び出しNtOpenFile()
です。
正常にコンパイル/リンクするには、プロジェクトのプロパティ (テンプレート Application For Drivers) に次の変更を加える必要がありました。
- WDK からインクルード フォルダーを追加する
- WDK から Lib フォルダーを追加する
- ntoskrnl.lib を使用するようリンカーに指示する
予期せず、デバッガーを実行すると、「C:\Windows\SYSTEM32\werkernel.sys がコンピューターにないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてください。」というエラー メッセージが表示されます。werkernel.sys は明らかに system32\drivers に存在します。
編集:明確にするために、アイコンをダブルクリックしてアプリを起動すると、前述のエラーも発生します。
このロードは、コードの前に発生します。問題のファイルのインターネットやプロジェクト プロパティのどこにも何も見つかりません。要約すると、これまでのところ次のような質問があります。
- アプリケーションで werkernel.sys が読み込まれるのはなぜですか?
- System32 からロードされているのはなぜですか?
可能であることは理解していますがmklink werkernel.sys drivers\werkernel.sys
、何かひどく間違ったことをしているように感じます。
c++ - NTSTATUS を解決できませんでした
プログラムの魔女を作ろうとしている私は、プロセスIDによってプロセスのコマンドラインを取得します。私はEclipse C ++とmingwコンパイラを使用しています
だから私はそれを行う方法を1つのチュートリアルを見つけました.ntstatusが必要なので、チュートリアルのように含めました#include <ntstatus.h>
そして、コードの最初の部分を追加しました:
そして、私はこの3つのエラーを取得しています:
この行で:typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(
この問題についてグーグルで検索しましたが、見つかりませんでした...
c++ - Windows ネイティブ API を使用して PE リソースにアクセスする方法は?
埋め込みリソースを含むWindows ネイティブ アプリケーションがあり、ネイティブ APIを使用してそれらにアクセスしたいと考えています。リソースを処理するネイティブ関数 ( FindResource / LoadResourceに似たもの) はありますか? または、それらを抽出するために独自の PE リーダーを作成する必要がありますか?
winapi - CIFS ファイルのメタデータを取得する最速の方法
状況:
を使用してディレクトリをスキャンしていNtQueryDirectoryFile(..., FileBothDirectoryInformation, ...)
ます。この呼び出しによって返されるデータに加えて、セキュリティ データ (通常は によって返されるGetKernelObjectSecurity
) と代替ストリームのリスト ( NtQueryInformationFile(..., FileStreamInformation)
) が必要です。
問題:
セキュリティと代替ストリーム情報を取得するには、各ファイルを開く (および閉じる) 必要があります。私のテストでは、操作が 3 分の 1 遅くなりました。追加するGetKernelObjectSecurity
とNtQueryInformationFile
、4 分の 1 に遅くなります (12 倍になります)。
質問: この情報を取得するためのより良い/より高速な方法はありますか?
アイデア: ターゲット ファイル システムがローカルの場合、直接アクセスできます (NTFS/FAT/etc の詳細を知っていれば、生データから情報を抽出できます)。しかし、リモート ファイル システムでは機能しません。