共用方式為


ConvertStringSecurityDescriptorToSecurityDescriptorA 函式 (sddl.h)

ConvertStringSecurityDescriptorToSecurityDescriptor 函式會將字串格式 安全性描述元 轉換成有效的功能安全性描述元。 此函式會擷取 ConvertSecurityDescriptorToStringSecurityDescriptor 函式轉換成字符串格式的安全性描述元。

語法

BOOL ConvertStringSecurityDescriptorToSecurityDescriptorA(
  [in]  LPCSTR               StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

參數

[in] StringSecurityDescriptor

包含要轉換之 字串格式安全性描述元 之 null 終止字串的指標。

[in] StringSDRevision

指定 StringSecurityDescriptor 字串的修訂層級。 目前此值必須SDDL_REVISION_1。

[out] SecurityDescriptor

接收已轉換之安全性描述元指標之變數的指標。 傳回的安全性描述元 自我相對。 若要釋放傳回的緩衝區,請呼叫 LocalFree 函式。 若要將安全性描述元轉換成 絕對安全性描述元,請使用makeAbsoluteSD 函式

[out] SecurityDescriptorSize

接收已轉換之安全性描述元大小之變數的指標,以位元組為單位。 此參數可以是 NULL。

傳回值

如果函式成功,則傳回值為非零值。

如果函式失敗,傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastErrorGetLastError 可能會傳回下列其中一個錯誤碼。

傳回碼 描述
ERROR_INVALID_PARAMETER
參數無效。
ERROR_UNKNOWN_REVISION
SDDL 修訂層級無效。
ERROR_NONE_MAPPED
在帳戶查閱作業中找不到輸入安全性描述元字串中的 安全性標識子 (SID)。

言論

如果 ace_type 是ACCESS_ALLOWED_OBJECT_ACE_TYPE,object_guidinherit_object_guid 都沒有指定 GUID,則 ConvertStringSecurityDescriptorToSecurityDescriptor 會將 ace_type 轉換成ACCESS_ALLOWED_ACE_TYPE。 如需 ace_typeobject_guidinherit_object_guid 欄位的相關信息,請參閱 Ace Strings

注意

sddl.h 標頭會根據 UNICODE 預處理器常數的定義,將 ConvertStringSecurityDescriptorToSecurityDescriptor 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 sddl.h
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

訪問控制概觀

基本訪問控制函式

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsolutesd

SECURITY_DESCRIPTOR