SHGetNewLinkInfoA 関数 (shellapi.h)
ショートカットの提案されたターゲットに基づいて、新しいショートカットの名前を作成します。 この関数では、ショートカットは作成されず、名前だけが作成されます。
構文
BOOL SHGetNewLinkInfoA(
[in] LPCSTR pszLinkTo,
[in] LPCSTR pszDir,
[out] LPSTR pszName,
[out] BOOL *pfMustCopy,
[in] UINT uFlags
);
パラメーター
[in] pszLinkTo
種類: LPCTSTR
ショートカットのターゲットのパスとファイル名へのポインター。 uFlags にSHGNLI_PIDL値が含まれていない場合、このパラメーターはターゲットを含む null で終わる文字列のアドレスです。 uFlags にSHGNLI_PIDL値が含まれている場合、このパラメーターはターゲットを表す PIDL です。
[in] pszDir
種類: LPCTSTR
ショートカットが作成されるフォルダーのパスを含む null で終わる文字列へのポインター。
[out] pszName
種類: LPTSTR
null で終わるパスとショートカットのファイル名を受け取る文字列へのポインター。 このバッファーは、少なくともMAX_PATH文字のサイズであると見なされます。
[out] pfMustCopy
種類: BOOL*
ショートカットがコピーされるかどうかを示すフラグを受け取る BOOL 値のアドレス。 別のショートカットへのショートカットが作成されると、シェルはターゲット ショートカットをコピーし、コピーしたショートカットを適切に変更します。 pszLinkTo で指定されたターゲットがターゲット ショートカットをコピーするショートカットを指定している場合、このパラメーターは 0 以外の値を受け取ります。 ターゲットでコピーされるショートカットが指定されていない場合、このパラメーターは 0 を受け取ります。
[in] uFlags
型: UINT
関数のオプション。 これには、0 または次の値の組み合わせを指定できます。
SHGNLI_PIDL (0x000000001)
0x000000001。 pszLinkTo によって指されるターゲットは、ターゲットを表す PIDL です。 このフラグが含まれていない場合、 pszLinkTo はターゲットのパスとファイル名を含む文字列のアドレスと見なされます。
SHGNLI_NOUNIQUE (0x000000002)
0x000000002。 ショートカット名がコピー先フォルダー内で一意であることを確認する通常のチェックをスキップします。 このフラグが含まれていない場合、関数はショートカット名を作成し、その名前が移動先フォルダー内で一意かどうかを判断します。 コピー先フォルダーに同じ名前のファイルが既に存在する場合は、ショートカット名が変更されます。 このプロセスは、一意の名前が見つかるまで繰り返されます。
SHGNLI_PREFIXNAME (0x000000004)
0x000000004。 作成された名前の前に文字列 "Shortcut to " が付きます。
SHGNLI_NOLNK (0x000000008)
0x000000008。 バージョン 5.0 .lnk ファイル名拡張子を追加しないでください。 このフラグを使用するには 、_WIN32_IE マクロを 5.01 以上に設定する必要があります。 バージョン管理の詳細については、「シェルと共通コントロールのバージョン」を参照してください。
SHGNLI_NOLOCNAME (0x000000010)
0x000000010。 Windows Vista 以降。 pszLinkTo が指すターゲットのローカライズされていない解析名をショートカット ファイルの名前として使用します。 このフラグが設定されていない場合は、ローカライズされた名前が使用されます。
SHGNLI_USEURLEXT (0x000000020)
0x000000020。 Windows 7 以降。 pszName が指す名前に 、.url ファイル名拡張子 (.lnk ではなく) を追加します。 このフラグが設定されていない場合、SHGNLI_NOLNKが設定されていない限り、ショートカット名は .lnk 拡張子を使用します。
戻り値
種類: BOOL
成功した場合は TRUE を 返します。それ以外の場合は FALSE。
解説
SHGetNewLinkInfo は、宛先ファイル システムが長いファイル名をサポートするかどうかを決定します。 その場合は、ショートカット名に長いファイル名が使用されます。 コピー先のファイル システムで長いファイル名がサポートされていない場合、ショートカット名は 8.3 形式で返されます。
注意
shellapi.h ヘッダーは、SHGetNewLinkInfo を別名として定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP、Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shellapi.h |
Library | Shell32.lib |
[DLL] | Shell32.dll (バージョン 4.71 以降) |