ZwSetVolumeInformationFile 函式 (ntifs.h)

ZwSetVolumeInformationFile 例程會修改與指定檔案、目錄、儲存裝置或磁碟區相關聯的磁碟區相關信息。

語法

NTSYSAPI NTSTATUS ZwSetVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [in]  PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

參數

[in] FileHandle

要修改其磁碟區資訊之開啟檔案、目錄、儲存裝置或磁碟區的檔案物件句柄。

[out] IoStatusBlock

接收最終完成狀態和作業相關信息 之IO_STATUS_BLOCK 結構的指標。

[in] FsInformation

呼叫端配置的緩衝區指標,其中包含要修改的磁碟區資訊。 此緩衝區中信息的結構取決於 FsInformationClass 的值,如下表所示。

[in] Length

以位元組為單位的緩衝區大小,由 FsInformation 指向。 呼叫端應該根據指定的 FsInformationClass 來設定此參數。

[in] FsInformationClass

要設定的磁碟區信息類型。 下列其中之一:

意義
FileFsControlInformation 設定 磁碟區的FILE_FS_CONTROL_INFORMATION
FileFsLabelInformation 設定 磁碟區的FILE_FS_LABEL_INFORMATION
FileFsObjectIdInformation 設定 磁碟區的FILE_FS_OBJECTID_INFORMATION

傳回值

ZwSetVolumeInformationFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 Description
STATUS_INFO_LENGTH_MISMATCH
Length 指定了無效的值。 這是錯誤碼。
STATUS_INSUFFICIENT_RESOURCES

ZwSetVolumeInformationFile 發生集區配置失敗。 這是錯誤碼。

STATUS_INVALID_INFO_CLASS
FsInformationClass 指定了無效的值。 這是錯誤碼。

備註

若要查詢磁碟區資訊,請呼叫 ZwQueryVolumeInformationFile

若要變更檔案的相關信息,請呼叫 ZwSetVolumeInformationFile

Minifilters 應該使用 FltSetInformationFile ,而不是 ZwSetVolumeInformationFile

注意 如果使用者模式中發生 ZwSetVolumeInformationFile函式的呼叫,您應該使用名稱 “NtSetInformationFile”,而不是 “ZwSetVolumeInformationFile”。
 
針對來自內核模式驅動程式的呼叫,Windows 原生系統服務例程的 NtXxxZwXxx 版本會以處理和解譯輸入參數的方式,以不同的方式運作。 如需 例程 NtXxxZwXxx 版本之間關聯性的詳細資訊,請參閱 使用原生系統服務例程的 Nt 和 Zw 版本

規格需求

需求
最低支援的用戶端 Windows Server 2003
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIS (storport) PowerIrpDDis (wdm)

另請參閱

FILE_FS_CONTROL_INFORMATION

FILE_FS_LABEL_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FltSetInformationFile

IRP_MJ_SET_VOLUME_INFORMATION

使用 Nt 和 Zw 版本的原生系統服務例程

ZwQueryVolumeInformationFile

ZwSetInformationFile