使用檔案控制代碼
下表列出驅動程式可以在檔案控制碼上執行的作業,以及執行這些作業的對應常式。
作業 | 要呼叫的常式 |
---|---|
從檔案讀取資料。 |
|
將資料寫入檔案。 |
|
讀取檔案或檔案控制代碼的中繼資料。 |
|
寫入檔案或檔案控制代碼的中繼資料。 |
若要指出檔案中要開始讀取或寫入資料的位置,您可以分別將 ByteOffset 參數傳遞至 ZwReadFile 或 ZwWriteFile。
如果您使用FILE_APPEND_DATA存取開啟控制碼,所有資料都會寫入檔案結尾,並忽略 ByteOffset 參數。
在某些情況下,I/O 管理員會維護檔案的目前檔案位置指標。 您可以指定ByteOffset的Null,在該位置開始讀取或寫入作業。 如需目前檔案位置指標存在時的詳細資訊,請參閱本節稍後 使用目前的檔案位置 。
若要檢查或變更檔案的相關資訊,請分別呼叫 ZwQueryInformationFile 或 ZwSetInformationFile。 您可以將特定類型的資訊指定為每個常式的 FileInformationClass 參數。 例如,將 FileInformationClass 設定為 FileBasicInformation 可讓您檢查或變更 FILE_BASIC_INFORMATION 結構,其中包含檔案建立時間和上次存取時間的成員等等。 如需 FileInformationClass所有可能值的相關資訊,請參閱 FILE_INFORMATION_CLASS。