GetSharedServiceDirectory-Funktion (winsvc.h)

Gibt einen Pfad für einen Pro-Dienst-Dateisystemspeicherort für einen Dienst und zugeordnete Programme zurück, in die der Lese- und/oder Schreibstatus gelesen werden soll.

Syntax

DWORD GetSharedServiceDirectory(
  SC_HANDLE                     ServiceHandle,
  SERVICE_SHARED_DIRECTORY_TYPE DirectoryType,
  PWCHAR                        PathBuffer,
  DWORD                         PathBufferLength,
  DWORD                         *RequiredBufferLength
);

Parameter

ServiceHandle

Ein Handle für den Dienst. Dieses Handle wird von der OpenService-Funktion zurückgegeben.

DirectoryType

Ein Member der SERVICE_SHARED_DIRECTORY_TYPE-Enumeration , die den Typ des abzurufenden freigegebenen Verzeichnispfads pro Dienst identifiziert.

PathBuffer

Ein vom Aufrufer zugeordneter Puffer, in den die Pfadzeichenfolge kopiert wird. Bei NULL schlägt der Funktionsaufruf mit ERROR_INSUFFICIENT_BUFFER fehl und gibt die erforderliche Pufferlänge in WCHARs in RequiredBufferLength zurück. Wenn nicht NULL, sollte die Länge des Puffers in PathBufferLength angegeben werden. Wenn der Pfad geschrieben wird, wird NULL beendet.

PathBufferLength

Die Länge des in PathBuffer bereitgestellten Puffers in Einheiten von WCHARS. Dieses Argument wird ignoriert, wenn PathBuffer NULL ist.

RequiredBufferLength

Dieser Wert wird auf die erforderliche Länge des Puffers in Einheiten von WCHARs festgelegt. Diese Länge enthält das endende NULL-Zeichen.

Rückgabewert

Gibt ERROR_SUCCESS zurück, wenn alle Vorgänge erfolgreich abgeschlossen wurden und der NULL-beendete Zustandspfad in PathBuffer geschrieben wird. Gibt ERROR_INSUFFICIENT_BUFFER zurück, wenn PathBuffer nicht groß genug war, um den Zustandspfad zu enthalten, oder wenn PathBuffer NULL war. In diesem Fall wird die erforderliche Pufferlänge in WCHARs über RequiredBufferLength zurückgegeben. Wenn ein anderer Fehler auftritt, wird ein Win32-Fehlercode zurückgegeben.

Hinweise

Für ServiceSharedDirectoryPersistentState ist die Sicherheit des Verzeichnisses so festgelegt, dass nur Schreibzugriff auf das lokale Systemkonto, die Dienst-SID und lokale Administratoren gewährt wird. Stellen Sie sicher, dass Dienst-SIDs für jeden Dienst aktiviert sind, der diese API aufruft. Weitere Informationen finden Sie unter SERVICE_SID_INFO.

Eine ähnliche API, die den Dienststatus ausschließlich für die Verwendung durch den Dienst selbst bereitstellt, finden Sie unter GetServiceDirectory.

Alle Dienststatusverzeichnisse werden vom Dienststeuerungs-Manager gelöscht, sobald der Dienst deinstalliert wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 11 (Build 22000)
Unterstützte Mindestversion (Server) Windows Server 2022 (Build 20348)
Kopfzeile winsvc.h
Bibliothek Onecore.lib

Weitere Informationen

Openservice

GetServiceDirectory

SERVICE_SID_INFO