GetServiceDisplayNameA-Funktion (winsvc.h)
Ruft den Anzeigenamen des angegebenen Diensts ab.
Syntax
BOOL GetServiceDisplayNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpServiceName,
[out, optional] LPSTR lpDisplayName,
[in, out] LPDWORD lpcchBuffer
);
Parameter
[in] hSCManager
Ein Handle für die Dienststeuerungs-Manager-Datenbank, wie von der OpenSCManager--Funktion zurückgegeben.
[in] lpServiceName
Der Dienstname. Dieser Name entspricht dem Registrierungsschlüsselnamen des Diensts. Es empfiehlt sich, einen Namen auszuwählen, der kleiner als 256 Zeichen ist.
[out, optional] lpDisplayName
Ein Zeiger auf einen Puffer, der den Anzeigenamen des Diensts empfängt. Wenn die Funktion fehlschlägt, enthält dieser Puffer eine leere Zeichenfolge.
Die maximale Größe dieses Arrays beträgt 4K Bytes. Um die erforderliche Größe zu ermitteln, geben Sie NULL für diesen Parameter und 0 für den lpcchBuffer Parameter an. Die Funktion schlägt fehl, und GetLastError- wird ERROR_INSUFFICIENT_BUFFERzurückgegeben. Der lpcchBuffer Parameter erhält die erforderliche Größe.
Dieser Parameter kann eine lokalisierte Zeichenfolge mit dem folgenden Format angeben:
@[Pfad]dllname,-strID
Die Zeichenfolge mit bezeichner strID wird aus dllnamegeladen; der Pfad optional ist. Weitere Informationen finden Sie unter RegLoadMUIString.
Windows Server 2003 und Windows XP: Lokalisierte Zeichenfolgen werden erst unter Windows Vista unterstützt.
[in, out] lpcchBuffer
Ein Zeiger auf eine Variable, die die Größe des Puffers angibt, auf den lpDisplayNameverweist, in TCHARs.
Bei der Ausgabe empfängt diese Variable die Größe des Anzeigenamens des Diensts in Zeichen, mit Ausnahme des Null-Endzeichens.
Wenn der puffer, auf lpDisplayName verweist, zu klein ist, um den Anzeigenamen zu enthalten, speichert die Funktion ihn nicht. Wenn die Funktion zurückgegeben wird, enthält lpcchBuffer- die Größe des Anzeigenamens des Diensts, mit Ausnahme des Null-Endzeichens.
Rückgabewert
Wenn die Funktionen erfolgreich sind, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
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 Befehl NET START verwendet wird. Um den Dienstnamen dem Anzeigenamen zuzuordnen, verwenden Sie die GetServiceDisplayName--Funktion. Um den Anzeigenamen dem Dienstnamen zuzuordnen, verwenden Sie die GetServiceKeyName--Funktion.
Anmerkung
Der winsvc.h-Header definiert GetServiceDisplayName als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winsvc.h (enthalten Windows.h) |
Library | Advapi32.lib |
DLL- | Advapi32.dll |