レガシー Windows API(概要)について

ここで紹介しているAPIは、Windows95、Windows NT3.5時代のAPI群であり、最新のAPIは含まれていないことに注しして欲しい。なお、当時の解説書は現在よりもより詳細に解説しているため、参考になるはずである。

  • レイアウトを変換する際、崩れているページがあります。
  • 概要およびSampleコードはありますが、APIの解説はありません。

ご要望があれば旧版のWin32 API(HELP形式)をお譲りします。問い合わせフォームより申し込みください。

Windows API ファイル システムの概要

次に示すトピックでは、 Windows NTのファイル システムについて説明しています。

Microsoft Windows NTのファイル システムについて

NTファイル システム

FATファイル システム

Windows NTのFATパーティションでの8.3形式のファイル名

Windows NTのFATパーティションでの長いファイル名

ハイ パフォーマンス ファイル システム

Microsoft Windows NTのファイル システムについて

Windows NT(TM) は、 NTファイル システム (NTFS)、 ファイル アロケーション テーブル (FAT) ファイル システム、 ハイ パフォーマンス ファイル システム (HPFS) の3つのファイル システムをサポートしています。

ファイル システムは、 ボリューム上での情報の構成方法を定義しています。また、 ファイル システムは、 ボリューム上のファイル名規約の規定や、 セキュリティ、 修復機能、 高速な入出力 (I/O) などのファイル システム固有の提供なども行います。各ボリュームには、 それぞれ異なるファイル システムを使うことができます。Windows NTの3つのファイル システムは、 すべて、 ボリューム上のデータ ファイルの位置やサイズなどのファイル システム固有の情報を示すテーブルを使います。

Windows NTでは、 必要なファイル システム ドライバと動的リンク ドライバを指定することによって、 ファイル システムをインストールできます。デバイス ドライバはボリュームをアクセスします。ドライバの.INFファイルは、 ドライバのセットアップ手順を示しています。ダイナミック リンク ライブラリは、 ボリューム上の情報の形式を制御し、 ボリュームとの間のデータの流れを管理します。

Windows NTのデフォルトのファイル システムはFATファイル システムですが、 FATファイル システムをインストールする必要はありません。HPFSやNTFSもインストール可能なファイル システムです。インストール可能ファイル システムのソフトウェアは、 オペレーティング システムの起動時にインストールできます。

Windows NTは3つのファイル システムのどれからでもブートできますが、 必ずFATかNTFSを使ってください。MIPS(R) ベースのARC準拠のマシンでは、 システム パーティション (OSLOADER.EXEプログラムがあるパーティション) はFATファイル システムでなければなりません。Windows NTシステムのルートは、 FATかNTFSに設定できます。

NTファイル システム(NTFS)

NTファイル システム (NTFS) は、 ハード ディスクのデータを組織化するファイル システムです。このファイル システムは、 すべてのファイルをユーザー定義属性とシステム定義属性を持つオブジェクトとして扱うことによって、 オブジェクト指向アプリケーションをサポートしています。NTFSは、 FATファイル システムやHPFSファイル システムの全機能を完全にサポートしています。通常、 FATファイル システムやHPFSファイル システムでファイルをアクセスするよりも、 NTFSでファイルをアクセスする方が高速です。

NTFSは、 完全に修復可能なファイル システムです。NTFSは、 CPUの障害、 システム クラッシュ、 I/Oエラーなどの後でもディスクの一貫性を復元できるように設計されています。NTFSでは、 ユーザーがautochkchkdskなどのユーティリティを使わなくても、 オペレーティング システムがファイルを修復できます。しかし、 修復が失敗した場合や、 ファイル システムで制御可能な範囲を超えた破壊が発生した場合のため、 NTFSは、 修復用ユーティリティも用意しています。また、 NTFSには、 セキュリティやUnicodeファイル名、 MS-DOS (R) 別名の自動作成、 複数のデータ ストリーム、 POSIXサブシステム固有の機能など、 HPFSやFATがサポートしていない機能もあります。セキュリティについて詳しくは、 セキュリティの概要を参照してください。Unicodeについて詳しくは、 文字列操作とUnicodeの概要を参照してください。

NTFSのファイル名規約はHPFSに従っていますが、 Unicodeファイル名もサポートされています。

ファイルがHPFSで作成されている場合、 NTFSは、 そのファイルの拡張属性を操作できません。

FATファイル システム

FATファイル システムは、 ハード ディスクやフロッピー ディスクのデータを組織化するファイル システムです。FATファイル システムの主な特徴は、 そのファイル名規約です。ファイル名は、 (8文字までの) ファイル名、 区切りピリオド (.)、 (3文字までの) ファイル名拡張子で構成されます。

FATボリュームの主な利点は、 MS-DOS、 Microsoft Windows、 OS/2のどのシステムからもアクセス可能な点です。また、 現在、 フロッピー ディスクなどの交換可能なメディアをサポートしているのはFATだけです。

Windows NTのFATパーティション上の8.3形式のファイル名

有効なWindows NT FATファイル名の形式を次に示します。

[[drive:]][[directory\]]filename[[.extension]]

driveパラメータは、 AからZまでの存在するドライブの名前でなければなりません。ドライブ文字の後には、 コロン (:) を付けてください。

directoryパラメータは、 ファイルのディレクトリ エントリを含むディレクトリを示します。この値の後ろには円記号 (\) を付けてファイル名と区切ってください。指定するディレクトリが現在のディレクトリでないときは、 directoryにはファイルのパスのすべてのディレクトリ名を円記号で区切って指定してください。ルート ディレクトリを指定するには、 名前の先頭に円記号を指定してください。たとえば、 ディレクトリABCがディレクトリSAMPLEにあり、 SAMPLEがルート ディレクトリにあるときは、 \SAMPLE\ABCと指定してください。ディレクトリ名は、 8文字までの英数字および次に示す特殊文字の組み合わせで構成されます。

$ % ' - _ @ { } ~ ` ! # ( )

また、 ディレクトリ名には、 3文字までの英数字や特殊文字の前にピリオド (.) を付けた拡張子を付加することもできます。

filenameパラメータとextensionパラメータは、 ファイルを示します。filenameは、 8文字までの英数字および上記の特殊記号の組み合わせです。extensionは、 3文字までの英数字および特殊記号の前にピリオドを付けたものです。また、 filenameには、 (英数字や特殊記号の間に) 空白を入れることができます。たとえば、 文字列disk 1は有効なfilenameです。

FATボリュームでは、 大文字と小文字は区別されません。

ハイ パフォーマンス ファイル システム

HPFSは、 ハード ディスクのデータを組織化するファイル システムです。HPFSでは、 ファイル名は実用的な長さ (254文字まで) にすることができ、 空白やピリオドなど、 FATファイル システムでは無効な文字を使うこともできます。通常、 FATファイル システムよりもHPFSの方がファイルのアクセスが高速です。HPFSはOS/2とのデータ交換用に用意されていますが、 Windows NTでは、 HPFSにはFATよりも有利な点はありません。

HPFSのファイル名やディレクトリ名には空白を任意の位置に使うことができますが、 ファイル名の終端の空白やピリオドは無視されます。HPFSのファイル名には拡張子を付ける必要はありませんが、 多くのアプリケーションでは拡張子が使われています。

HPFSファイル名には、 FATファイル名に使用可能な文字のほかに、 次に示す特殊文字が使用可能です。

, + = [ ] ; _

HPFSファイル名には、 大文字と小文字を自由に使うことができます。ディレクトリ表示では大文字と小文字は区別されますが、 ファイル検索などのシステム操作では区別されません。このため、 大文字と小文字の区別だけが異なる複数のファイル名を1つのディレクトリに置くことはできません。

▲ページトップに戻る

【本を読んでもよくらからない】 … 個別指導でわかりやすくお教えします
inserted by FC2 system