SHGetNewLinkInfoA 関数 (shellapi.h)

ショートカットの提案されたターゲットに基づいて、新しいショートカットの名前を作成します。 この関数では、ショートカットは作成されず、名前だけが作成されます。

構文

BOOL SHGetNewLinkInfoA(
  [in]  LPCSTR pszLinkTo,
  [in]  LPCSTR pszDir,
  [out] LPSTR  pszName,
  [out] BOOL   *pfMustCopy,
  [in]  UINT   uFlags
);

パラメーター

[in] pszLinkTo

種類: LPCTSTR

ショートカットのターゲットのパスとファイル名へのポインター。 uFlagsSHGNLI_PIDL値が含まれていない場合、このパラメーターはターゲットを含む null で終わる文字列のアドレスです。 uFlagsSHGNLI_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 以降)