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 |