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 |