[解決済み] Windowsハンドルとは何ですか?
2022-04-23 01:29:59
質問
Windowsでリソースを扱う際のquot;Handle"とは何ですか? どのように機能するのですか?
どのように解決するのですか?
リソースへの抽象的な参照値で、多くはメモリやオープンファイル、パイプなどです。
ちゃんと Windowsでは、(一般にコンピュータでは)ハンドルは、APIユーザーから実際のメモリアドレスを隠す抽象化であり、システムがプログラムに対して透過的に物理メモリを再編成することを可能にします。 ハンドルをポインタに解決するとメモリがロックされ、ハンドルを解放するとポインタが無効になる。 この場合、ハンドルはポインタのテーブルへのインデックスと考えることができます...あなたはシステムAPIコールのためにインデックスを使用し、システムはテーブル内のポインタを自由に変更することができます。
この場合、ハンドルが指すものはいつでも(APIのバージョンからバージョンへ、あるいはハンドルを返すAPIの呼び出しから呼び出しへと)変わる可能性があることを考慮しなければならない - したがって、ハンドルは単に不透明な値として扱われるべきである のみ をAPIに提供します。
現代のオペレーティングシステムでは、いわゆるリアルポインターでさえ、プロセスの仮想メモリ空間への不透明なハンドルであり、これによりO/Sはプロセス内のポインターを無効化せずにメモリを管理・再配置できることを付け加えておきます。
関連
-
Windows2008 スケジュールタスク、エラー追加データ。エラーの値: 2147750687。
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] Windowsのコマンドラインに'which'に相当するものはありますか?
-
[解決済み] Windows での Git リポジトリのディレクトリを無視する
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] Git for Windows でファイル名が長すぎる
-
[解決済み] Node.js/Windowsのエラーです。ENOENT, stat 'C:\Users﹑RTAppData﹑Roaming﹑npm'.
-
[解決済み] Windowsのコマンドラインからアプリケーションの終了コードを取得するにはどうすればよいですか?
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】Windowsのバッチファイル:.batと.cmdの違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】バッチ内のファイル名、ディレクトリ名、またはボリュームラベルの構文が正しくない
-
[解決済み】exec: "gcc": go buildしようとすると%PATH%に実行可能ファイルが見つからない
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] wampでApacheが起動しない
-
[解決済み] invisible.vbsでBATファイルをバックグラウンドで実行するが、停止する方法は?
-
[解決済み] HKEY_LOCAL_MACHINE SOFTWARE ◇Microsoft ◇Cryptography ◇MachineGuid ◇はユニークですか?
-
[解決済み] WindowsタスクスケジューラでVBScriptが実行されない
-
[解決済み] Pythonの実行ファイル:py2exeかPyInstallerか?
-
[解決済み] Windowsでgl3wを設定するには?
-
[解決済み] cmd lineを使用してファイルをZIPする方法は?