FSCTL_QUERY_PERSISTENT_VOLUME_STATE控件程序代碼
FSCTL_QUERY_PERSISTENT_VOLUME_STATE控制程式代碼會擷取文件系統磁碟區的持續性設定。 在電腦重新啟動之間,持續性設定會保留在檔案系統磁碟區上。
若要執行這項作業,請使用下列參數呼叫 FltFsControlFile 或 ZwFsControlFile 。
參數
FileObject [in]: FltFsControlFile 僅限 。 檔系統磁碟區的檔案物件指標。 這個參數是必要的,而且不能是 NULL。
FileHandle [in]:僅限 ZwFsControlFile 。 檔系統磁碟區的檔案句柄。 這個參數是必要的,而且不能是 NULL。
FsControlCode [in]:作業的控制程序代碼。 使用此作業 FSCTL_QUERY_PERSISTENT_VOLUME_STATE 。
InputBuffer [in]:呼叫端配置 FILE_FS_PERSISTENT_VOLUME_INFORMATION 結構的指標。
InputBufferLength [in]: InputBuffer 參數所指向緩衝區的大小,以位元組為單位。
OutputBuffer [out]:呼叫端配置的 FILE_FS_PERSISTENT_VOLUME_INFORMATION 結構的指標,可接收文件系統磁碟區的永續性設定。
OutputBufferLength [out]: OutputBuffer 參數所指向緩衝區的大小,以位元組為單位。
狀態區塊
FltFsControlFile 或 ZwFsControlFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
程式碼 | 意義 |
---|---|
STATUS_NOT_SUPPORTED | 呼叫端在 FILE_FS_PERSISTENT_VOLUME_INFORMATION 的 Version 成員中指定了不正確的版本號碼。 |
STATUS_INVALID_PARAMETER | 文件系統磁碟區不是開啟的使用者磁碟區,或呼叫者在 FILE_FS_PERSISTENT_VOLUME_INFORMATIONFlagMask 成員中指定了無效的旗標。 |
STATUS_BUFFER_TOO_SMALL | InputBuffer 參數指向的緩衝區不夠大, (也就是說,緩衝區小於 sizeof (FILE_FS_PERSISTENT_VOLUME_INFORMATION) ) 。 在此情況下,不會傳回任何永續性設定數據。 這是錯誤碼。 |
STATUS_ACCESS_DENIED | 呼叫端無法存取檔系統磁碟區。 |
STATUS_VOLUME_DISMOUNTED | 檔系統磁碟區已卸除。 |
STATUS_TOO_LATE | 檔案系統磁碟區已關閉。 |
STATUS_MEDIA_WRITE_PROTECTED | 檔系統磁碟區是唯讀的。 |
規格需求
需求類型 | 需求 |
---|---|
最低支援的用戶端 | Windows 7 |
標頭 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |