fltQuerySecurityObject 函式 (fltkernel.h)
FltQuerySecurityObject 會擷取物件的安全描述元複本。
語法
NTSTATUS FLTAPI FltQuerySecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out, optional] PULONG LengthNeeded
);
參數
[in] Instance
呼叫端的不透明實例指標。 這個參數是必要的,而且不能是 NULL。
[in] FileObject
正在查詢其安全性描述元之對象的檔案物件指標。 這個參數是必要的,而且不能是 NULL。
[in] SecurityInformation
SECURITY_INFORMATION 值。 此參數是必要的,而且必須是下列其中一項:
SecurityInformation 值 | 意義 |
---|---|
OWNER_SECURITY_INFORMATION | 正在查詢對象的擁有者識別碼。 需要 READ_CONTROL 存取。 |
GROUP_SECURITY_INFORMATION | 正在查詢物件的主要群組標識碼。 需要 READ_CONTROL 存取。 |
DACL_SECURITY_INFORMATION | 正在查詢物件的 DACL) (任意存取控制清單。 需要 READ_CONTROL 存取。 |
SACL_SECURITY_INFORMATION | 正在查詢對象的系統 ACL (SACL) 。 需要 ACCESS_SYSTEM_SECURITY 存取權。 |
[in, out] SecurityDescriptor
呼叫端提供的輸出緩衝區指標,該緩衝區會接收指定物件之安全描述元的複本。 SECURITY_DESCRIPTOR 結構會以自我相對格式傳回。 這個參數是選擇性的,而且可以是 NULL。
[in] Length
SecurityDescriptor 緩衝區的大小,以位元組為單位。
[out, optional] LengthNeeded
呼叫端配置的變數指標,接收儲存 SecurityDescriptor 參數所指向之緩衝區中傳回之複製之安全性描述元所需的位元數目。 這個參數是選擇性的,而且可以是 NULL。
傳回值
FltQuerySecurityObject 會 傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
呼叫端沒有必要的存取權。 這是錯誤碼。 |
|
緩衝區太小,無法包含安全性描述符。 沒有任何安全性資訊複製到緩衝區。 這是錯誤碼。 |
備註
安全性描述項可以是絕對或自我相對形式。 在自我相對形式中,結構的所有成員都會連續位於記憶體中。 在絕對形式中,結構只包含其成員的指標。
NTFS 檔案系統會對寫入檔案之磁碟的安全性描述符大小施加 64 KB 的限制。 (FAT 檔案系統不支援 files.) 的安全性描述項,因此 ,SecurityDescriptor 參數所指向的 64 KB 緩衝區保證足以保存傳回 的SECURITY_DESCRIPTOR 結構。
FileObject 參數指向的物件可以代表具名數據流。 如需具名數據流的詳細資訊,請參閱 FILE_STREAM_INFORMATION。
如需安全性和訪問控制的詳細資訊,請參閱 Microsoft Windows SDK 檔。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |