ConvertStringSecurityDescriptorToSecurityDescriptor 函式可以將一個按安全描述符格式的字元串轉換成一個有效的安全描述符結構。本函式和ConvertSecurityDescriptorToStringSecurityDescriptor函式的功能相反。
函式原型,參數,返回值,備註,需求,
函式原型
BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptor(
__in LPCTSTR StringSecurityDescriptor,
__in DWORD StringSDRevision,
__out PSECURITY_DESCRIPTOR *SecurityDescriptor,
__out PULONG SecurityDescriptorSize
);
參數
StringSecurityDescriptor[in]
一個字元串,以'\0'為結束符,是一個符合安全描述符的字元串,是本函式用來轉換的源字元串。
StringSDRevision[in]
指定StringSecurityDescriptor的修訂級別,目前的版本必須是SDDL_REVISION_1。
SecurityDescriptor[out]
一個指向用來存儲轉換後的SID變數。返回的安全描述符是自相關的。要釋放返回的緩衝區,需要調用LocalFree函式。為了將安全描述符轉換成一個絕對安全描述符,需要調用MakeAbsoluteSD函式。
SecurityDescriptorSize[out]
一個指向存儲返回的緩衝區大小的變數。如果不需要,可以將這個參數傳入NULL。
返回值
如果函式成功,則返回非0值,否則返回0。可以調用GetLastError獲得更詳細的錯誤原因。GetLastError可能返回的錯誤代碼如下:
返回值 | 描述 |
ERROR_INVALID_PARAMETER | 某個參數是無效的。 |
ERROR_UNKNOWN_REVISION | 參數StringSDRevision是不正確。 |
ERROR_NONE_MAPPED | 輸入字元串描述的SID在賬戶查詢操作中找不到 |
備註
If ace_type is ACCESS_ALLOWED_OBJECT_ACE_TYPE and neither object_guid nor inherit_object_guid has a GUID specified, then ConvertStringSecurityDescriptorToSecurityDescriptor converts ace_type to ACCESS_ALLOWED_ACE_TYPE. For information about the ace_type, object_guid, and inherit_object_guid fields, see Ace Strings.
需求
系統最低要求 | Windows 2000 Professional |
伺服器最低要求 | Windows 2000 Server |
頭檔案 | Sddl.h |
靜態庫 | Advapi32.lib |
動態庫 | Advapi32.dll |
Unicode和ANSI的函式名 | ConvertStringSecurityDescriptorToSecurityDescriptorW (Unicode) ConvertStringSecurityDescriptorToSecurityDescriptorA (ANSI) |