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 |