FSCTL_SET_REPARSE_POINT_EX控件程式代碼
FSCTL_SET_REPARSE_POINT_EX控件程式代碼會在檔案或目錄上設定重新分析點。
若要執行這項作業,請使用下列參數呼叫 ZwFsControlFile 。
迷你篩選應該使用 FltTagFile 而不是FSCTL_SET_REPARSE_POINT_EX來設定重新分析點。
如需重新分析點和FSCTL_SET_REPARSE_POINT_EX控件程式代碼的詳細資訊,請參閱 Microsoft Windows SDK 檔。
參數
FileHandle:要設定重新分析點之檔案或目錄的檔案句柄。 這個參數是必要的,而且不能是 NULL。
FsControlCode:控制作業的程序代碼。 針對此作業使用FSCTL_SET_REPARSE_POINT_EX。
InputBuffer:包含重新分析點數據的呼叫端配置 REPARSE_GUID_DATA_BUFFER 或 REPARSE_DATA_BUFFER_EX 結構的指標。
InputBufferLength: InputBuffer 參數所指向緩衝區的大小,以位元組為單位。 對於REPARSE_GUID_DATA_BUFFER結構,此值必須至少REPARSE_GUID_DATA_BUFFER_HEADER_SIZE,加上使用者定義數據的大小,而且必須小於或等於MAXIMUM_REPARSE_DATA_BUFFER_SIZE。 對於REPARSE_DATA_BUFFER_EX結構,此值必須至少REPARSE_DATA_BUFFER_HEADER_SIZE,加上使用者定義數據的大小,而且必須小於或等於MAXIMUM_REPARSE_DATA_BUFFER_SIZE。
OutputBuffer:未與這項作業搭配使用;設定為 NULL。
OutputBufferLength:未與這項作業搭配使用;設定為零。
狀態區塊
ZwFsControlFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
值 | Description |
---|---|
STATUS_DIRECTORY_NOT_EMPTY | 無法在無空目錄上設定重新分析點。 這是錯誤碼。 |
STATUS_EAS_NOT_SUPPORTED | 如果此要求位於交易中,就無法在檔案上設定重新分析點。 這是錯誤碼。 |
STATUS_IO_REPARSE_DATA_INVALID | 其中一個指定的參數值無效。 這是錯誤碼。 |
STATUS_IO_REPARSE_TAG_MISMATCH | 呼叫端所指定的重新分析標記不符合要修改之重新分析點的標記。 這是錯誤碼。 |
STATUS_NOT_A_REPARSE_POINT | 檔案或目錄不是重新分析點。 這是錯誤碼。 |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | 重新分析點是第三方重新分析點,而呼叫端指定的重新分析 GUID 與要修改之重新分析點的 GUID 不符。 這是錯誤碼。 |
規格需求
需求類型 | 需求 |
---|---|
標頭 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |