GetSystemWindowsDirectory

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx

マルチユーザーシステム上の共有 Windows ディレクトリのパスを取得します。
シングルユーザーシステムの場合、この関数は GetWindowsDirectory 関数と同じです。マルチユーザーシステムの場合、この関数はシステムが使う Windows ディレクトリ(すべてのユーザーが共有する Windows ディレクトリ)のパスを取得します。GetWindowsDirectory 関数は各ユーザーの Windows ディレクトリのパスを取得します。

UINT GetSystemWindowsDirectory(
  LPTSTR lpBuffer,  // ディレクトリ名を受け取るバッファ
  UINT uSize        // 名前を受け取るバッファのサイズ
);

パラメータ

lpBuffer
[出力]Windows ディレクトリのパスを表す NULL で終わる文字列を受け取る、バッファへのポインタを指定します。このパスは、Windows ディレクトリがルートディレクトリでないかぎり、円記号では終わりません。たとえば、C ドライブの WINDOWS という名前のディレクトリが Windows ディレクトリの場合、この関数で得られる Windows ディレクトリのパスは、C:\WINDOWS になります。システムが C ドライブのルートディレクトリにインストールされている場合は、C:\ が得られます。
uSize
[入力]lpBuffer パラメータで指定するバッファの最大サイズ(文字数)を指定します。パスの文字列が入るように、この値は少なくとも MAX_PATH 文字に設定してください。

戻り値

関数が成功すると、バッファにコピーされた文字列の長さ(文字数)が返ります。この長さに終端の NULL 文字は含まれません。
パスの長さがバッファのサイズより大きいときは、パスを入れるために必要なバッファのサイズが返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

システムの Windows ディレクトリは、アプリケーションがすべてのユーザーに適用する初期化ファイルとヘルプファイルを格納するディレクトリです。

対応情報

Windows NT/2000:Windows NT Server 4.0, Terminal Server Edition SP4、Windows 2000
ヘッダー:winbase.h 内で宣言
インポートライブラリ:kernel32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装

参照

GetWindowsDirectory

表示: