MakeAbsoluteSD 函式 (securitybaseapi.h)

MakeAbsoluteSD 函式會使用自我相對格式的安全性描述元做為範本,以絕對格式建立安全性描述元。

語法

BOOL MakeAbsoluteSD(
  [in]            PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [in, out]       LPDWORD              lpdwAbsoluteSecurityDescriptorSize,
  [out, optional] PACL                 pDacl,
  [in, out]       LPDWORD              lpdwDaclSize,
  [out, optional] PACL                 pSacl,
  [in, out]       LPDWORD              lpdwSaclSize,
  [out, optional] PSID                 pOwner,
  [in, out]       LPDWORD              lpdwOwnerSize,
  [out, optional] PSID                 pPrimaryGroup,
  [in, out]       LPDWORD              lpdwPrimaryGroupSize
);

參數

[in] pSelfRelativeSecurityDescriptor

以自我相對格式 SECURITY_DESCRIPTOR 結構的指標。 函式會建立這個安全性描述元的絕對格式版本,而不需修改原始的安全性描述元。

[out, optional] pAbsoluteSecurityDescriptor

函式填滿絕對格式安全性描述元主體之緩衝區的指標。 這項資訊會格式化為 SECURITY_DESCRIPTOR 結構。

[in, out] lpdwAbsoluteSecurityDescriptorSize

變數的指標,指定 pAbsoluteSD 參數所指向的緩衝區大小。 如果緩衝區不足以用於安全性描述元,則函式會失敗,並將此變數設定為所需的最小大小。

[out, optional] pDacl

函式填入 任意訪問控制清單 的指標, (絕對格式安全性描述元的 DACL) 。 絕對格式安全性描述元的主要本文會參考此指標。

[in, out] lpdwDaclSize

變數的指標,指定 pDacl 參數所指向的緩衝區大小。 如果緩衝區不夠大,無法讓 訪問控制清單 (ACL) ,則此函式會失敗,並將此變數設定為所需的最小大小。

[out, optional] pSacl

函式所填入 系統訪問控制清單 的指標, (絕對格式安全性描述元的 SACL) 。 絕對格式安全性描述元的主要本文會參考此指標。

[in, out] lpdwSaclSize

變數的指標,指定 pSacl 參數所指向的緩衝區大小。 如果緩衝區不足以用於 ACL,則函式會失敗,並將此變數設定為所需的最小大小。

[out, optional] pOwner

函式所填入 安全性標識碼 的指標, (SID) 絕對格式安全性描述元的擁有者。 絕對格式安全性描述元的主要本文會參考此指標。

[in, out] lpdwOwnerSize

變數的指標,指定 pOwner 參數所指向的緩衝區大小。 如果緩衝區不足以用於 SID,則函式會失敗,並將此變數設定為所需的最小大小。

[out, optional] pPrimaryGroup

函式填入絕對格式安全性描述項主要群組之 SID 的緩衝區指標。 絕對格式安全性描述元的主要本文會參考此指標。

[in, out] lpdwPrimaryGroupSize

變數的指標,指定 pPrimaryGroup 參數所指向的緩衝區大小。 如果緩衝區不足以用於 SID,則函式會失敗,並將此變數設定為所需的最小大小。

傳回值

如果函式成功,函式會傳回非零。

如果函式失敗,它會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 可能的傳回碼包括但不限於下列各項。

傳回碼/值 Description
ERROR_INSUFFICIENT_BUFFER
0x7A
一或多個緩衝區太小。

備註

絕對格式的安全性描述元包含其包含之資訊的指標,而不是資訊本身。 自我相對格式的安全性描述項包含連續記憶體區塊中的資訊。 在自我相對安全性描述元中, SECURITY_DESCRIPTOR 結構一律會啟動資訊,但安全性描述項的其他元件可以依照任何順序遵循結構。 除了使用記憶體位址,而是透過安全性描述元開頭的位移來識別自我相對安全性描述元的元件。 當安全性描述符必須儲存在磁碟上,或透過通訊協定傳輸時,此格式很有用。

將安全物件複製到各種媒體的伺服器可以使用 MakeAbsoluteSD 函式,從自我相對安全性描述元和 MakeSelfRelativeSD 函式建立絕對安全性描述元,以從絕對安全性描述元建立自我相對安全性描述元。

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 securitybaseapi.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

低階 存取控制

低階 存取控制 函式

MakeSelfRelativeSD

SECURITY_DESCRIPTOR