重新分析點作業
若要判斷文件系統是否支援重新剖析點,請呼叫 GetVolumeInformation 函式,並檢查 FILE_SUPPORTS_REPARSE_POINTS 位旗標。
DeviceIoControl 函式可讓您設定、修改、取得及移除重新分析點。 下表描述您可以使用 deviceIoControl 執行的重新分析點作業。
操作 | 描述 |
---|---|
FSCTL_SET_REPARSE_POINT | 允許呼叫程式設定新的重新分析點,或修改現有的重新分析點。 |
FSCTL_GET_REPARSE_POINT | 取得儲存在現有重新分析點中的資訊。 |
FSCTL_DELETE_REPARSE_POINT | 拿掉現有的重新分析點。 |
如果您要修改、取得或刪除重新分析點,則必須在檔案中包含的作業中指定相同的重新剖析標記。 否則,作業將會失敗,並 ERROR_REPARSE_TAG_MISMATCH錯誤。 如果您要修改或刪除重新分析點,您也必須在檔案中包含的作業中指定重新剖析 GUID。 否則,作業將會失敗,錯誤 ERROR_REPARSE_ATTRIBUTE_CONFLICT。
若要判斷檔案或目錄是否包含重新剖析點,請使用 getFileAttributes函式。 如果檔案或目錄有相關聯的重新分析點,則會設定 FILE_ATTRIBUTE_REPARSE_POINT 屬性。
若要覆寫現有的重新分析點,而不需要檔案或目錄的句柄,請使用 FILE_FLAG_OPEN_REPARSE_POINT呼叫 CreateFile。 這個旗標可讓您開啟檔案,不論對應的文件系統篩選是否已安裝並正常運作。