共用方式為


ZwQuerySecurityObject 函式 (ntifs.h)

ZwQuerySecurityObject 例程會擷取對象的安全性描述元複本。

語法

NTSYSAPI NTSTATUS ZwQuerySecurityObject(
  [in]  HANDLE               Handle,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  ULONG                Length,
  [out] PULONG               LengthNeeded
);

參數

[in] Handle

要查詢其安全性描述元的物件句柄。 此句柄必須具有數據表的 Meaning 數據行中指定的存取權,如 SecurityInformation 參數的描述所示。

[in] SecurityInformation

SECURITY_INFORMATION 值,指定要查詢的資訊做為下列一或多個的組合。

價值 意義
OWNER_SECURITY_INFORMATION 正在查詢對象的擁有者識別碼。 需要READ_CONTROL存取權。
GROUP_SECURITY_INFORMATION 正在查詢物件的主要群組標識碼。 需要READ_CONTROL存取權。
SACL_SECURITY_INFORMATION 正在查詢物件的系統 ACL (SACL)。 需要ACCESS_SYSTEM_SECURITY存取權。
DACL_SECURITY_INFORMATION 正在查詢物件的任意訪問控制清單 (DACL)。 需要READ_CONTROL存取權。

[out] SecurityDescriptor

呼叫端配置的緩衝區,ZwQuerySecurityObject 填入指定之安全性描述元的複本。 SECURITY_DESCRIPTOR 結構會以自我相對格式傳回。

[in] Length

SecurityDescriptor 所指向之緩衝區的大小,以位元組為單位,

[out] LengthNeeded

呼叫端配置的變數指標,該變數會接收儲存複製之安全性描述元所需的位元組數目。

傳回值

ZwQuerySecurityObject 會傳回STATUS_SUCCESS或適當的錯誤狀態。 可能的錯誤狀態代碼包括下列專案:

傳回碼 描述
STATUS_ACCESS_DENIED Handle 沒有必要的存取權。
STATUS_BUFFER_TOO_SMALL 緩衝區對於安全性描述元而言太小。 未將任何安全性資訊複製到緩衝區。
STATUS_INVALID_HANDLE 句柄 不是有效的句柄。
STATUS_OBJECT_TYPE_MISMATCH Handle 不是預期的型別句柄。

言論

安全性描述元可以是絕對或自我相對形式。 在自我相對形式中,結構的所有成員都連續位於記憶體中。 在絕對形式中,結構只包含成員的指標。 如需詳細資訊,請參閱 Absolute 和 Self-Relative Security 描述元

NTFS 檔系統會對寫入檔案之磁碟的安全性描述項大小施加 64K 限制。 (FAT 檔案系統不支援檔案的安全性描述項。因此,保證 64K SecurityDescriptor 緩衝區足以容納傳回 SECURITY_DESCRIPTOR 結構。

如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程式開發人員的 Windows 安全性模型,以及 Windows SDK 中這些主題的檔。

小型篩選程序應該呼叫 FltQuerySecurityObject,而不是 ZwQuerySecurityObject

注意

如果在使用者模式中呼叫 ZwQuerySecurityObject 函式,您應該使用名稱 “NtQuerySecurityObject” 而不是 “ZwQuerySecurityObject”。

對於內核模式驅動程式的呼叫,NtXxxZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxxZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程

要求

要求 價值
最低支援的用戶端 Windows XP
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIs(storport)PowerIrpDDis(wdm)

另請參閱

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwSetSecurityObject