問題タブ [kernel32]

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 に答える
886 参照

.net - kernel32.searchpath のマネージ API はありますか?

kernel32.searchpath のマネージ API はありますか? つまり、pinvoke を使用しません。

http://www.pinvoke.net/default.aspx/kernel32.searchpath

0 投票する
1 に答える
13149 参照

c# - kernel32.dll APIのラッパーC#

kernel32 APIをすべての関数(メソッドと構造)でラップするヘルパークラスはありますか?またはラッパージェネレーター?

私はこのようなC#のkernel32.dllのすべてのメソッドが欲しいです:

0 投票する
3 に答える
1753 参照

c# - kernel32 から DllImport しようとすると奇妙な例外が発生する

私はこの特定の機能を何ヶ月も使用していますが、今日は機能しなくなりました。理由は想像できませんし、否定するつもりもありません。何かアイデアがあれば教えてください。

私はそのような方法で関数をロードしています:

そして、私はそれをこのように使用しようとします:

前述のように、これは何年にもわたって機能していましたが、今後はこの例外がスローされます。

System.EntryPointNotFoundException: DLL 'kernel32' で 'GetPrivateProfilestring' という名前のエントリ ポイントが見つかりません

なぜこれが起こるのでしょうか?dllが変更された可能性はありますか(Windows Updateなどによって)?もう見つからないだけかもしれませんが、その場合、例外は異なりますか? これはありそうもないことですが、これは常に機能しており、ソースコードは変更されていないため、何も排除しないと言ったように...

更新: 奇妙なことに、大文字化が役に立ちましたが、現在は機能しているようです。しかし、なぜこれが起こったのか、そしてなぜ今起こったのか、私はまだ興味がありますか? 私はそれが今何ヶ月も働いたことを保証することができます.

エラーは私のマシンでのみ発生したため(とにかく私が知る限り)、それを変更してソフトウェアをどこでも更新することを少し恐れていますが、古い方法はさまざまな PC と構成で 6 か月以上にわたって運用されています。 .

0 投票する
2 に答える
1034 参照

c++ - XP互換モードで実行しない限り、Windows Vista/7で低レベルのC++アプリがクラッシュする

クライアントのマシン上のWindowsVista/ 7で散発的にクラッシュする低レベル(実際の低レベルのように、基本的にすべてのIOCTL呼び出しと列挙APIへのいくつかの呼び出し)があります。残念ながら、クラッシュダンプを取得することはできませんでしたが、ある有用なユーザーは、プログラムをXP互換モードで実行すると問題が解決したと述べました。

アプリケーションは常に完全な管理者権限で起動されるため(管理者認証が必要な別のプログラムから起動されます)、UACの問題ではありません。非推奨のAPIを使用せず、レジストリハックなどに依存していません。ディスクを列挙するための呼び出しを発行し、IOCTLコマンドを使用して、接続されているすべてのデバイスに関するより低レベルの情報を取得しています。

XP互換モードではどうなりますか?Windowsは、Vista / 7でのクラッシュを防ぐために、アプリケーションに何を注入するか、サンドボックス化するのですか?XP互換モードで正常に動作すると言われる前に、ヒープの破損を最初に疑っていました(ただし、複製または問題の追跡を試みて髪の毛を抜いてしまいました)。

XP互換モードで回避できる可能性のある問題を誰かが提案できますか?この問題に対処するために調査する必要がありますか?ありがとう!

編集:

おそらく非常に重要なもう1つのことは、WIN32 APIを介して公開されていない特定の機能を取得するために、ユーザースペースからDDK/カーネル関数を呼び出していることです。

ZwReadFile、ZwCreateFile、ZwWriteFile、RtlInitUnicodeString、ZwQueryVolumeInformationFile、ZwDeviceIoControlFile、ZwSetInformationFile、ZwCloseを使用しています。

私が呼び出しているIOCTLには、IOCTL_DISK_GET_PARTITION_INFO_EX、IOCTL_STORAGE_GET_DEVICE_NUMBER、IOCTL_DISK_GET_LENGTH_INFO、およびIOCTL_DISK_GET_DRIVE_LAYOUT_EXが含まれます。

0 投票する
2 に答える
292 参照

multithreading - アイドリング時に Windows コンソール アプリケーションがリークするのはなぜですか? (そして、なぜ発砲銃は kernel32.dll を指しているのですか??)

毎分約 4kb のプライベート メモリをリークしているように見える Windows マルチスレッド コンソール アプリケーションがあります。

リークを特定するために、リークが止まるまでアプリケーションの各スレッドを徐々に中断しました。驚いたことに、原因は「Win32Thread」という名前のスレッドのようです。

私が明示的に開始したスレッドのようには見えません。

アプリケーションをアタッチして中断すると、スタック トレースは次のようになります。

なぜこれが突然リークするのか、誰にも分かりますか?

アプリケーションは、Win2k3 SP2 デュアル コア システムで約 40 時間実行されています。

どんなアイデアでも大歓迎です。

0 投票する
1 に答える
2797 参照

windows - Windows ネイティブ API を介してディレクトリ情報を取得する方法は?

次のコードを使用して、ファイルの作成日、ファイルサイズなどを取得できます。

しかし、ディレクトリに対して呼び出されると、すべての値がゼロに設定されます - ディレクトリ情報を取得するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
835 参照

c# - 文字列で渡された lstrcpy が更新されない

C# で、kernel32.dll の lstrcpy を使用してポインターから文字列を取得しようとしていますが、うまくいきません。lstrlenA は機能しています。文字列の長さがわかるので、少なくとも kernel32.dll にヒットしています。lstrcpy は、変換中の VB6 アプリで動作しているため、動作することはわかっていますが、ここにない理由がわかりません。

文字列 s は実際の文字列で満たされることはなく、最初に埋め込まれた文字列を返すだけです。

0 投票する
4 に答える
8139 参照

c# - C# - IOCTL を使用可能

「Cash Drawer」アタッチメントを可能にする POS システムのコードを作成しようとしています。コードは、キャッシュ ドロワーを開くためのマニュアルに記載されています (IOCTL を使用した C++ で)。私は C# .NET でコーディングしているので、C# 内から同様のことを実行することは可能ですか? またはアンマネージ コードを記述する必要がありますか?

C# 内から "\\.\ADVANSYS" へのハンドルを取得できますか? DLLImport を使用する必要がありますか?

誰かが私を正しい方向に向けることができれば幸いです。

0 投票する
1 に答える
1493 参照

dll - Kernel32.dllを使用してプロセッサIDを取得する方法

プロセッサデータ(ID、シリアルなど)に関連するkernel32.dllのエントリポイントがあるかどうかを知りたいのですが、
Googleで試してみましたが、良い結果が見つかりませんでした。

注:私はすでにWMIを知っていますが、カーネルに関連するものが必要です!

0 投票する
1 に答える
2113 参照

c - インライン アセンブラから Win32 API 関数を呼び出すにはどうすればよいですか?

kernel32.dll から Sleep 関数を呼び出しているだけなので、このコードの何が問題なのか教えてください。何が問題なのですか? 私は Visual Studio 2008 を使用しています。どうもありがとうございました。