共用方式為


getSharedServiceDirectory 函式 (winsvc.h)

傳回服務的每個服務檔案系統位置的路徑,以及要讀取和/或寫入狀態的相關聯程式。

語法

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

參數

ServiceHandle

服務的控制碼。 OpenService函式會傳回此控制碼。

DirectoryType

識別要擷取之個別服務共用目錄路徑類型 之SERVICE_SHARED_DIRECTORY_TYPE 列舉的成員。

PathBuffer

將複製路徑字串的呼叫端配置緩衝區。 如果為 Null,則函式呼叫將會失敗,並 ERROR_INSUFFICIENT_BUFFER傳回必要緩衝區長度,在 WCHAR 中為 RequiredBufferLength。 如果為非 Null,則應在 PathBufferLength中指定緩衝區的長度。 寫入的路徑將會是 Null 終止。

PathBufferLength

PathBuffer中提供的緩衝區長度,以 WCHARS 為單位。 如果 PathBuffer 為 Null,則會忽略此引數。

RequiredBufferLength

此值會以 WCHAR 單位設定為緩衝區的必要長度。 此長度包含終止的 Null 字元。

傳回值

當所有作業都成功完成且 Null 終止的狀態路徑寫入 PathBuffer時,會傳回ERROR_SUCCESS。 如果 PathBuffer 不足以包含狀態路徑,或 PathBuffer 為 Null,則傳回ERROR_INSUFFICIENT_BUFFER。 在此情況下,WCHAR 中的必要緩衝區長度會透過 RequiredBufferLength傳回。 如果發生其他失敗,則會傳回 Win32 錯誤碼。

備註

針對 ServiceSharedDirectoryPersistentState,目錄的安全性會設定為只提供本機系統帳戶、服務 SID 和本機系統管理員的寫入權限。 請確定呼叫此 API 的任何服務都已啟用服務 SID。 如需詳細資訊,請參閱 SERVICE_SID_INFO

如需專門提供服務狀態以供服務本身使用的類似 API,請參閱 GetServiceDirectory

卸載服務之後,服務控制管理員會刪除所有服務狀態目錄。

規格需求

   
最低支援的用戶端 Windows 11 (組建 22000)
最低支援的伺服器 Windows Server 2022 (組建 20348)
標頭 winsvc.h
程式庫 Onecore.lib

另請參閱

OpenService

GetServiceDirectory

SERVICE_SID_INFO