共用方式為


FsRtlSetKernelEaFile 函式 (ntifs.h)

FsRtlQueryKernelEaFile 例程 用來設定、修改和/或刪除檔案的擴充屬性 (EA) 值,並同步等候檔案完成,並傳回結果。 它會設定 IRP_MN_KERNEL 次要程序代碼,以允許此 API 設定 SecureEA。 這可讓呼叫端透過 FileObject 執行這項操作,而不是句柄。

語法

NTSTATUS FsRtlSetKernelEaFile(
  [in] PFILE_OBJECT FileObject,
  [in] PVOID        EaBuffer,
  [in] ULONG        Length
);

參數

[in] FileObject

要傳送 QueryEA 要求的 FileObject 指標。

[in] EaBuffer

所提供之呼叫端的指標,FILE_FULL_EA_INFORMATION結構化輸入緩衝區,其中包含要設定的擴充屬性值

[in] Length

指定 EA 緩衝區的長度。

傳回值

FsRtlSetKernelEaFile 例程會接收作業的狀態,並傳回其中一個狀態代碼:

傳回碼 描述
STATUS_EA_LIST_INCONSISTENT
EaList 參數的格式不正確。
STATUS_EAS_NOT_SUPPORTED
檔案系統不支援擴充屬性。
STATUS_INSUFFICIENT_RESOURCES
無法為此要求配置 I/O 要求封包 (IRP)。
STATUS_INTERMIXED_KERNEL_EA_OPERATION
要求無法在相同呼叫中混用一般和核心 EA。
STATUS_INVALID_DEVICE_REQUEST
要求因為直接裝置已開啟而失敗。
STATUS_SUCCESS
要求成功。

言論

此例程假設所有傳入的緩衝區都是來自核心模式。

在單一呼叫 FsRtlSetKernelEaFile中,可以設定、修改和/或刪除一或多個核心 EA。 一般 EA 也可以使用 FsRtlSetKernelEaFile 函式來設定。 您可以藉由指定具有 EaValueLengthEAName 來刪除 EA。 您可以在單一呼叫中插入新的、修改現有或移除 EA 的混合。

要求

要求 價值
最低支援的用戶端 Windows 8
支援的最低伺服器 Windows Server 2012
目標平臺 窗戶
標頭 ntifs.h

另請參閱

FsRtlQueryKernelEaFile

ZwQueryEaFile

ZwSetEaFile