CcZeroData 函式 (ntifs.h)
CcZeroData 例程會將快取或非快取檔案中的指定位元組範圍零。
注意
這個例程只應該呼叫為檔案有效數據長度以外的檔案零部分。 CcZeroData 不會修改任何先前寫入的檔案數據。 若要將先前寫入的數據零到檔案的有效數據長度,請呼叫 CcCopyWrite,或其中一個其他快取寫入介面。
語法
BOOLEAN CcZeroData(
[in] PFILE_OBJECT FileObject,
[in] PLARGE_INTEGER StartOffset,
[in] PLARGE_INTEGER EndOffset,
[in] BOOLEAN Wait
);
參數
[in] FileObject
檔案 FILE_OBJECT 指標,其中位元組範圍要為零。
[in] StartOffset
變數的指標,指定檔案內的位元組位移至要為零的第一個字節。
[in] EndOffset
變數的指標,指定檔案內的位元組位移至要為零的最後一個字節。
[in] Wait
設定為 TRUE 如果呼叫端應該進入等候狀態,直到整個位元組範圍已零為止。 否則,此參數會設定為 FALSE。
傳回值
言論
要為零的檔案可以快取或未快取。 不過,如果檔案未快取,StartOffset 和 EndOffset 的值都必須是磁碟區扇區大小的倍數。
如果發生集區配置失敗,且 Wait指定為 TRUE,CcZeroData 會引發STATUS_INSUFFICIENT_RESOURCES例外狀況。 如果集區配置失敗且
如果提供的 FileObject 未啟用快取,但快取存在於數據流中(也就是相同檔案的另一個檔案對象已啟用快取),則會將零視為已啟用寫入快取。
如果
如果
如果集區配置失敗,CcZeroData 引發STATUS_INSUFFICIENT_RESOURCES例外狀況。 如果 CcZeroData 遇到任何其他錯誤,包括 IO 錯誤,則會將錯誤引發給呼叫端。
針對 Windows Vista 和更新版本的 Windows 操作系統,CcZeroData 的行為如下所示:
- 如果快取數據流並write_through,StartOffset 不必對齊扇區。
- 如果 EndOffset 不對齊,則會四捨五入為下一個扇區大小。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000。 如需 Vista 和更新版本的作業系統變更,請參閱。 |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Fltkernel.h, Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |