共用方式為


IRP_MJ_DIRECTORY_CONTROL等位的FLT_PARAMETERS

作業之FLT_IO_PARAMETER_BLOCK結構的 MajorFunction 字段IRP_MJ_DIRECTORY_CONTROL時使用的聯集元件。

語法

typedef union _FLT_PARAMETERS {
  ...   ;
  union {
    struct {
      ULONG                   Length;
      PUNICODE_STRING         FileName;
      FILE_INFORMATION_CLASS  FileInformationClass;
      ULONG POINTER_ALIGNMENT FileIndex;
      PVOID                   DirectoryBuffer;
      PMDL                    MdlAddress;
    } QueryDirectory;
    struct {
      ULONG                   Length;
      ULONG POINTER_ALIGNMENT CompletionFilter;
      ULONG                   Spare1;
      ULONG POINTER_ALIGNMENT Spare2;
      PVOID                   DirectoryBuffer;
      PMDL                    MdlAddress;
    } NotifyDirectory;
  } DirectoryControl;
  ...   ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

成員

  • DirectoryControl:包含下列成員的結構。

  • QueryDirectory:用於IRP_MN_QUERY_DIRECTORY作業的聯集元件。

  • 長度QueryDirectory.DirectoryBuffer 成員指向的緩衝區長度,以位元組為單位。

  • FileName:包含指定目錄內檔名 之UNICODE_STRING 結構的指標。

  • FileInformationClass:指定下列其中一個值。

    意義
    FileBothDirectoryInformation 傳回每個檔案 的FILE_BOTH_DIR_INFORMATION 結構。
    FileDirectoryInformation 傳回每個檔案 的FILE_DIRECTORY_INFORMATION 結構。
    FileFullDirectoryInformation 傳回每個檔案 的FILE_FULL_DIR_INFORMATION 結構。
    FileIdBothDirectoryInformation 傳回每個檔案 的FILE_ID_BOTH_DIR_INFORMATION 結構。
    FileIdFullDirectoryInformation 傳回每個檔案 的FILE_ID_FULL_DIR_INFORMATION 結構。
    FileNamesInformation 傳回每個檔案 的FILE_NAMES_INFORMATION 結構。
    FileObjectIdInformation 傳回每個檔案 的FILE_OBJECTID_INFORMATION 結構。
    FileReparsePointInformation 傳回目錄的單 一FILE_REPARSE_POINT_INFORMATION 結構。
  • FileIndex:目錄掃描開始的檔案索引。 如果未設定SL_INDEX_SPECIFIED旗標,則會忽略此旗標。 此參數無法在任何 Win32 函式或內核模式支援例程中指定。 目前只有NT虛擬 DOS 電腦 (NTVDM) 使用,這隻存在於 32 位 NT 型作業系統上。 請注意,檔案索引未定義給文件系統,例如NTFS,其中檔案在父目錄中的位置不是固定的,而且可以隨時變更以維護排序順序。

  • DirectoryBuffer:呼叫端提供的輸出緩衝區指標,該緩衝區會接收目錄內容的相關要求資訊。 如果 QueryDirectory.MdlAddress 中提供 MDL,這個成員是選擇性的,而且可以是 NULL。 請參閱備註

  • MdlAddress:描述項清單 (MDL) 位址,描述 QueryDirectory.DirectoryBuffer 成員指向的緩衝區。 如果 QueryDirectory.DirectoryBuffer 中提供緩衝區,這個成員是選擇性的,而且可以是 NULL。 請參閱備註

  • NotifyDirectory:用於IRP_MN_NOTIFY_CHANGE_DIRECTORY作業的聯集元件。

  • 長度NotifyDirectory.DirectoryBuffer 成員指向的緩衝區長度,以位元組為單位。

  • CompletionFilter:旗標的位掩碼,指定應該完成通知清單中 IRP 之檔案或目錄的變更類型。 可能的旗標值如下所述。

    旗標 意義
    FILE_NOTIFY_CHANGE_FILE_NAME 此目錄中已新增、刪除或重新命名檔案。
    FILE_NOTIFY_CHANGE_DIR_NAME 已建立、移除或重新命名子目錄。
    FILE_NOTIFY_CHANGE_NAME 此目錄的名稱已變更。
    FILE_NOTIFY_CHANGE_ATTRIBUTES 此檔案的屬性值已變更,例如上次存取時間。
    FILE_NOTIFY_CHANGE_SIZE 此檔案的大小已變更。
    FILE_NOTIFY_CHANGE_LAST_WRITE 此檔案上次修改時間已變更。
    FILE_NOTIFY_CHANGE_LAST_ACCESS 此檔案上次存取時間已變更。
    FILE_NOTIFY_CHANGE_CREATION 此檔案的建立時間已變更。
    FILE_NOTIFY_CHANGE_EA 此檔案的擴充屬性已經過修改。
    FILE_NOTIFY_CHANGE_SECURITY 此檔案的安全性資訊已變更。
    FILE_NOTIFY_CHANGE_STREAM_NAME 檔案數據流已在此目錄中新增、刪除或重新命名。
    FILE_NOTIFY_CHANGE_STREAM_SIZE 此檔案數據流的大小已變更。
    FILE_NOTIFY_CHANGE_STREAM_WRITE 此檔案數據流的數據已變更。
  • 備援1:目前未使用。

  • 備援2:目前未使用。

  • DirectoryBuffer:呼叫端提供的輸出緩衝區指標,該緩衝區會接收目錄內容的相關要求資訊。 如果 NotifyDirectory.MdlAddress 中提供 MDL,這個成員是選擇性的,而且可以是 NULL。 請參閱備註

  • MdlAddress:描述 NotifyDirectory.DirectoryBuffer 成員指向之緩衝區的 MDL 位址。 如果 NotifyDirectory.DirectoryBuffer 中提供緩衝區,這個成員是選擇性的,而且可以是 NULL。 請參閱備註

備註

IRP_MJ_DIRECTORY_CONTROL作業的FLT_PARAMETERS結構包含回呼數據所代表之 IRP 型目錄控制資訊作業的參數, (FLT_CALLBACK_DATA) 結構。 它包含在FLT_IO_PARAMETER_BLOCK結構中。

如果同時提供 DirectoryBufferMdlAddress 緩衝區,建議迷你篩選使用 MDL。 DirectoryBuffer 所指向的記憶體在呼叫進程內容中存取的使用者模式位址時有效,或者如果它是核心模式位址,則為 。

如果迷你篩選變更 MdlAddress 的值,則在後續作業回呼之後,篩選管理員會釋放目前儲存在 MdlAddress 中的 MDL,並還原先前的 MdlAddress 值。

IRP_MJ_DIRECTORY_CONTROL是以 IRP 為基礎的作業。

規格需求

需求類型 需求
標頭 Fltkernel.h (包含 Fltkernel.h)

另請參閱

FILE_BOTH_DIR_INFORMATION

FILE_DIRECTORY_INFORMATION

FILE_FULL_DIR_INFORMATION

FILE_ID_BOTH_DIR_INFORMATION

FILE_ID_FULL_DIR_INFORMATION

FILE_NAMES_INFORMATION

FILE_OBJECTID_INFORMATION

FILE_REPARSE_POINT_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltNotifyFilterChangeDirectory

FsRtlNotifyFilterChangeDirectory

FsRtlNotifyFilterReportChange

FsRtlNotifyFullChangeDirectory

FsRtlNotifyFullReportChange

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile