使用檔案控制代碼

下表列出驅動程式可以在檔案控制碼上執行的作業,以及執行這些作業的對應常式。

作業 要呼叫的常式

從檔案讀取資料。

ZwReadFile

將資料寫入檔案。

ZwWriteFile

讀取檔案或檔案控制代碼的中繼資料。

ZwQueryInformationFile

寫入檔案或檔案控制代碼的中繼資料。

ZwSetInformationFile

若要指出檔案中要開始讀取或寫入資料的位置,您可以分別將 ByteOffset 參數傳遞至 ZwReadFileZwWriteFile

如果您使用FILE_APPEND_DATA存取開啟控制碼,所有資料都會寫入檔案結尾,並忽略 ByteOffset 參數。

在某些情況下,I/O 管理員會維護檔案的目前檔案位置指標。 您可以指定ByteOffsetNull,在該位置開始讀取或寫入作業。 如需目前檔案位置指標存在時的詳細資訊,請參閱本節稍後 使用目前的檔案位置

若要檢查或變更檔案的相關資訊,請分別呼叫 ZwQueryInformationFileZwSetInformationFile。 您可以將特定類型的資訊指定為每個常式的 FileInformationClass 參數。 例如,將 FileInformationClass 設定為 FileBasicInformation 可讓您檢查或變更 FILE_BASIC_INFORMATION 結構,其中包含檔案建立時間和上次存取時間的成員等等。 如需 FileInformationClass所有可能值的相關資訊,請參閱 FILE_INFORMATION_CLASS