Partager via


GetSharedServiceDirectory, fonction (winsvc.h)

Retourne un chemin d’accès pour un emplacement de système de fichiers par service pour un service et les programmes associés à lire et/ou écrire l’état.

Syntaxe

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

Paramètres

ServiceHandle

Handle pour le service. Ce handle est retourné par la fonction OpenService .

DirectoryType

Membre de l’énumération SERVICE_SHARED_DIRECTORY_TYPE qui identifie le type de chemin d’accès au répertoire partagé par service à récupérer.

PathBuffer

Mémoire tampon allouée à l’appelant dans laquelle la chaîne de chemin d’accès sera copiée. Si la valeur est NULL, l’appel de fonction échoue avec ERROR_INSUFFICIENT_BUFFER et retourne la longueur de mémoire tampon requise, dans WCHAR, dans RequiredBufferLength. Si la valeur n’est pas NULL, la longueur de la mémoire tampon doit être spécifiée dans PathBufferLength. Le chemin d’accès, s’il est écrit, est terminé par null.

PathBufferLength

Longueur de la mémoire tampon fournie dans PathBuffer, en unités de WCHARS. Cet argument est ignoré si PathBuffer a la valeur NULL.

RequiredBufferLength

Cette valeur est définie sur la longueur requise de la mémoire tampon, en unités de WCHAR. Cette longueur inclut le caractère NULL de fin.

Valeur retournée

Retourne ERROR_SUCCESS lorsque toutes les opérations se terminent correctement et que le chemin d’état terminé par NULL est écrit dans PathBuffer. Retourne ERROR_INSUFFICIENT_BUFFER si PathBuffer n’était pas assez grand pour contenir le chemin d’état, ou si PathBuffer était NULL. Dans ce cas, la longueur de mémoire tampon requise dans WCHAR est retournée via RequiredBufferLength. Si un autre échec se produit, un code d’erreur Win32 est retourné.

Remarques

Pour ServiceSharedDirectoryPersistentState, la sécurité de l’annuaire est définie pour fournir uniquement un accès en écriture au compte système local, au SID de service et aux administrateurs locaux. Vérifiez que les SID de service sont activés pour tout service qui appelle cette API. Pour plus d’informations, consultez SERVICE_SID_INFO.

Pour une API similaire qui fournit l’état du service exclusivement pour une utilisation par le service lui-même, consultez GetServiceDirectory.

Tous les répertoires d’état du service sont supprimés par le gestionnaire de contrôle de service une fois le service désinstallé.

Configuration requise

   
Client minimal pris en charge Windows 11 (build 22000)
Serveur minimal pris en charge Windows Server 2022 (build 20348)
En-tête winsvc.h
Bibliothèque Onecore.lib

Voir aussi

OpenService

GetServiceDirectory

SERVICE_SID_INFO