Share via


SHGetNewLinkInfoA-Funktion (shellapi.h)

Erstellt einen Namen für eine neue Verknüpfung basierend auf dem vorgeschlagenen Ziel der Verknüpfung. Diese Funktion erstellt nicht die Verknüpfung, nur den Namen.

Syntax

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

Parameter

[in] pszLinkTo

Typ: LPCTSTR

Ein Zeiger auf den Pfad und dateinamen des Ziels der Verknüpfung. Wenn uFlags nicht den SHGNLI_PIDL Wert enthält, ist dieser Parameter die Adresse einer null-beendeten Zeichenfolge, die das Ziel enthält. Wenn uFlags den SHGNLI_PIDL-Wert enthält, ist dieser Parameter eine PIDL, die das Ziel darstellt.

[in] pszDir

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge, die den Pfad des Ordners enthält, in dem die Verknüpfung erstellt wird.

[out] pszName

Typ: LPTSTR

Ein Zeiger auf eine Zeichenfolge, die den NULL-beendeten Pfad und dateinamen für die Verknüpfung empfängt. Es wird davon ausgegangen, dass dieser Puffer mindestens MAX_PATH Zeichen groß ist.

[out] pfMustCopy

Typ: BOOL*

Die Adresse eines BOOL-Werts , der ein Flag empfängt, das angibt, ob die Verknüpfung kopiert wird. Wenn eine Verknüpfung zu einer anderen Verknüpfung erstellt wird, kopiert die Shell einfach die Zielverknüpfung und ändert die kopierte Verknüpfung entsprechend. Dieser Parameter empfängt einen nonzero-Wert, wenn das in pszLinkTo angegebene Ziel eine Verknüpfung angibt, die dazu führt, dass die Zielverknüpfung kopiert wird. Dieser Parameter empfängt null, wenn das Ziel keine Verknüpfung angibt, die kopiert wird.

[in] uFlags

Typ: UINT

Die Optionen für die Funktion. Dies kann null oder eine Kombination der folgenden Werte sein.

SHGNLI_PIDL (0x000000001)

0x000000001. Das Ziel, auf das von pszLinkTo verwiesen wird, ist eine PIDL, die das Ziel darstellt. Wenn dieses Flag nicht enthalten ist, wird pszLinkTo als Adresse einer Zeichenfolge betrachtet, die den Pfad und dateinamen des Ziels enthält.

SHGNLI_NOUNIQUE (0x000000002)

0x000000002. Überspringen Sie die normalen Überprüfungen, die sicherstellen, dass der Verknüpfungsname im Zielordner eindeutig ist. Wenn dieses Flag nicht enthalten ist, erstellt die Funktion den Verknüpfungsnamen und bestimmt dann, ob der Name im Zielordner eindeutig ist. Wenn im Zielordner bereits eine Datei mit demselben Namen vorhanden ist, wird der Verknüpfungsname geändert. Dieser Vorgang wird wiederholt, bis ein eindeutiger Name gefunden wird.

SHGNLI_PREFIXNAME (0x000000004)

0x000000004. Dem erstellten Namen wird die Zeichenfolge "Shortcut to " vorangestellt.

SHGNLI_NOLNK (0x000000008)

0x000000008. Version 5.0 Fügen Sie die Dateinamenerweiterung .lnk nicht hinzu. Sie müssen das makro _WIN32_IE auf 5.01 oder höher festlegen, um dieses Flag verwenden zu können. Weitere Informationen zur Versionsverwaltung finden Sie unter Versionen von Shell und allgemeinen Steuerelementen.

SHGNLI_NOLOCNAME (0x000000010)

0x000000010. Windows Vista und höher. Verwenden Sie den nicht lokalisierten Analysenamen des Ziels, auf das von pszLinkTo verwiesen wird, als Namen der Verknüpfungsdatei. Wenn dieses Flag nicht festgelegt ist, wird der lokalisierte Name verwendet.

SHGNLI_USEURLEXT (0x000000020)

0x000000020. Windows 7 und höher. Fügen Sie eine URL-Dateinamenerweiterung (anstelle von .lnk) an den Namen an, auf den von pszName verwiesen wird. Wenn dieses Flag nicht festgelegt ist, verwendet der Verknüpfungsname eine LNK-Erweiterung, es sei denn, SHGNLI_NOLNK festgelegt ist.

Rückgabewert

Typ: BOOL

Gibt TRUE zurück, wenn dies erfolgreich war. andernfalls FALSE.

Hinweise

SHGetNewLinkInfo bestimmt, ob das Zieldateisystem lange Dateinamen unterstützt. Wenn dies der Fall ist, wird ein langer Dateiname für den Tastenkombinationsnamen verwendet. Wenn das Zieldateisystem keine langen Dateinamen unterstützt, wird der Verknüpfungsname im Format 8.3 zurückgegeben.

Hinweis

Der shellapi.h-Header definiert SHGetNewLinkInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP, Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shellapi.h
Bibliothek Shell32.lib
DLL Shell32.dll (Version 4.71 oder höher)