FSCTL_SET_PERSISTENT_VOLUME_STATE控件程式代碼
FSCTL_SET_PERSISTENT_VOLUME_STATE控件程式代碼會設定檔系統磁碟區的持續性設定。 在電腦重新啟動之間,持續性設定會保留在檔案系統磁碟區上。
若要執行這項作業,請使用下列參數呼叫 FltFsControlFile 或 ZwFsControlFile 。
參數
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]: 未搭配此作業使用;設定為零。
狀態區塊
FltFsControlFile 或 ZwFsControlFile 會傳回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) |