GetServiceKeyNameA-Funktion (winsvc.h)

Ruft den Dienstnamen des angegebenen Diensts ab.

Syntax

BOOL GetServiceKeyNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpDisplayName,
  [out, optional] LPSTR     lpServiceName,
  [in, out]       LPDWORD   lpcchBuffer
);

Parameter

[in] hSCManager

Ein Handle für die Dienststeuerungs-Manager-Datenbank des Computers, wie von OpenSCManager zurückgegeben.

[in] lpDisplayName

Anzeigename des Diensts Die maximale Länge der Zeichenfolge beträgt 256 Zeichen.

[out, optional] lpServiceName

Ein Zeiger auf einen Puffer, der den Dienstnamen empfängt. Wenn die Funktion fehlschlägt, enthält dieser Puffer eine leere Zeichenfolge.

Die maximale Größe dieses Arrays beträgt 4K Bytes. Geben Sie null für diesen Parameter und 0 für den lpcchBuffer-Parameter an, um die erforderliche Größe zu bestimmen. Die Funktion schlägt fehl, und GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück. Der lpcchBuffer-Parameter erhält die erforderliche Größe.

[in, out] lpcchBuffer

Ein Zeiger auf die Variable, der die Größe des Puffers angibt, auf den der lpServiceName-Parameter in TCHARs verweist. Wenn die Funktion zurückgibt, enthält dieser Parameter die Größe des Dienstnamens in TCHARs, mit Ausnahme des NULL-Endzeichens.

Wenn der Puffer, auf den lpServiceName verweist, zu klein ist, um den Dienstnamen zu enthalten, speichert die Funktion darin keine Daten. Wenn die Funktion zurückgibt, enthält lpcchBuffer die Größe des Dienstnamens, mit Ausnahme des NULL-Abschlusszeichens.

Rückgabewert

Wenn die Funktionen erfolgreich sind, ist der Rückgabewert ungleich null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Es gibt zwei Namen für einen Dienst: den Dienstnamen und den Anzeigenamen. Der Dienstname ist der Name des Dienstschlüssels in der Registrierung. Der Anzeigename ist ein benutzerfreundlicher Name, der in der Systemsteuerungsanwendung Dienste angezeigt wird und mit dem NET START-Befehl verwendet wird. Beide Namen werden mit der CreateService-Funktion angegeben und können mit der ChangeServiceConfig-Funktion geändert werden. Die für einen Dienst angegebenen Informationen werden in einem Schlüssel mit demselben Namen wie der Dienstname unter dem registrierungsschlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName gespeichert.

Verwenden Sie die GetServiceDisplayName-Funktion , um den Dienstnamen dem Anzeigenamen zuzuordnen. Verwenden Sie die GetServiceKeyName-Funktion , um den Anzeigenamen dem Dienstnamen zuzuordnen.

Hinweis

Der winsvc.h-Header definiert GetServiceKeyName 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 Code, der nicht Codierungsneutral ist, 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 XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winsvc.h (windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

GetServiceDisplayName

OpenSCManager

Dienstfunktionen