次の方法で共有


GetFileAttributesA 関数 (fileapi.h)

指定したファイルまたはディレクトリのファイル システム属性を取得します。

属性情報を取得するには、getFileAttributesEx 関数 使用します。

この操作をトランザクション操作として実行するには、GetFileAttributesTransacted 関数を使用します。

構文

DWORD GetFileAttributesA(
  [in] LPCSTR lpFileName
);

パラメーター

[in] lpFileName

ファイルまたはディレクトリの名前。

既定では、名前はMAX_PATH文字に制限されています。 この制限を 32,767 文字のワイド文字に拡張するには、パスの先頭に "\\?\" を付けます。 詳細については、「ファイル、パス、および名前空間の名前付けする」を参照してください。

先端

Windows 10 バージョン 1607 以降では、事前に "\\?\" なしでMAX_PATHの制限を削除することをオプトインできます。 詳細については、「名前付けファイル、パス、および名前空間の」の「パスの最大長制限」セクションを参照してください。

戻り値

関数が成功した場合、戻り値には指定したファイルまたはディレクトリの属性が含まれます。 属性値とその説明の一覧については、「ファイル属性定数 」を参照してください。

関数が失敗した場合、戻り値は INVALID_FILE_ATTRIBUTES。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

GetFileAttributes がマウントされたフォルダーであるディレクトリで呼び出されると、マウントされたフォルダーがディレクトリに関連付けられているボリューム内のルート ディレクトリの属性ではなく、ディレクトリのファイル システム属性が返されます。 関連付けられたボリュームのファイル属性を取得するには、GetVolumeNameForVolumeMountPoint 呼び出して、関連付けられているボリュームの名前を取得します。 次に、結果の名前を GetFileAttributes呼び出しで使用します。 結果は、関連付けられているボリューム上のルート ディレクトリの属性です。

ネットワーク共有 GetFileAttributes を呼び出すと、関数は失敗し、GetLastError ERROR_BAD_NETPATHを返します。 その共有上のサブフォルダーへのパスを指定する必要があります。

Windows 8 および Windows Server 2012 では、この関数は次のテクノロジでサポートされています。

テクノロジー サポート
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 透過的フェールオーバー (TFO) はい
SMB 3.0 とスケールアウト ファイル共有 (SO) はい
クラスター共有ボリューム ファイル システム (CsvFS) はい
回復性のあるファイル システム (ReFS) はい
 

シンボリック リンクの動作: パスがシンボリック リンクを指している場合、関数はシンボリック リンクの属性を返します。

トランザクション操作の

トランザクションでファイルが変更のために開かれている場合、トランザクションがコミットされるまで、他のスレッドはファイルを開いて変更できません。 そのため、トランザクションスレッドが最初にファイルを開くと、トランザクションがコミットされる前にファイルを変更しようとする後続のスレッドは共有違反を受け取ります。 トランザクション以外のスレッドがトランザクションスレッドの前にファイルを変更しても、トランザクションが開こうとしたときにファイルが開いている場合、トランザクションはエラー ERROR_TRANSACTIONAL_CONFLICTを受け取ります。

例については、「ファイル属性の取得と変更」を参照してください。

手記

fileapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetFileAttributes を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー fileapi.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

DeviceIoControl の

ファイル属性定数

ファイル管理機能の

FindFirstFile の

FindNextFile の

GetFileAttributesEx の

GetFileAttributesTransacted の

SetFileAttributes の

シンボリック リンク の