共用方式為


FSCTL_SET_PERSISTENT_VOLUME_STATE控件程式代碼

FSCTL_SET_PERSISTENT_VOLUME_STATE控件程式代碼會設定檔系統磁碟區的持續性設定。 在電腦重新啟動之間,持續性設定會保留在檔案系統磁碟區上。

若要執行這項作業,請使用下列參數呼叫 FltFsControlFileZwFsControlFile

參數

  • FileObject [in]: 僅限 FltFsControlFile 。 檔系統磁碟區的檔案物件指標。 這個參數是必要的,而且不能是 NULL

  • FileHandle [in]: 僅限 ZwFsControlFile 。 檔系統磁碟區的檔案句柄。 這個參數是必要的,而且不能是 NULL

  • FsControlCode [in]:作業的控制程序代碼。 針對此作業使用 FSCTL_SET_PERSISTENT_VOLUME_STATE

  • InputBuffer [in]:呼叫端配置的 FILE_FS_PERSISTENT_VOLUME_INFORMATION 結構的指標,其中包含文件系統磁碟區的永續性設定。

  • InputBufferLength [in]: InputBuffer 參數所指向之緩衝區的大小,以位元組為單位。

  • OutputBuffer [out]: 未搭配此作業使用;設定為 NULL

  • OutputBufferLength [out]: 未搭配此作業使用;設定為零。

狀態區塊

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

程式碼 意義
STATUS_NOT_SUPPORTED 要求的登錄設定不是每個磁碟區,或呼叫端在 FILE_FS_PERSISTENT_VOLUME_INFORMATION的版本成員中指定了不正確的版本號碼。
STATUS_INVALID_PARAMETER 文件系統磁碟區不是開啟的使用者磁碟區,或呼叫者在 FILE_FS_PERSISTENT_VOLUME_INFORMATION的 FlagMask 成員中指定了無效的旗標。
STATUS_BUFFER_TOO_SMALL InputBuffer 參數指向的緩衝區不夠大,無法保存永續性設定數據。 在此情況下,不會設定持續性設定數據。 這是錯誤碼。
STATUS_ACCESS_DENIED 呼叫端無法存取檔系統磁碟區。
STATUS_VOLUME_DISMOUNTED 檔系統磁碟區已卸除。
STATUS_TOO_LATE 檔案系統磁碟區已關閉。
STATUS_MEDIA_WRITE_PROTECTED 檔系統磁碟區是唯讀的。

規格需求

需求類型 需求
最低支援的用戶端 Windows 7
標頭 Ntifs.h (包含 Ntifs.h)

另請參閱

FILE_FS_PERSISTENT_VOLUME_INFORMATION

FltFsControlFile

ZwFsControlFile