NETWORK_OPEN_ECP_CONTEXT 結構 (ntifs.h)

NETWORK_OPEN_ECP_CONTEXT 結構可用來解譯檔案上 (ECP) 內容的網路額外建立參數。

語法

typedef struct _NETWORK_OPEN_ECP_CONTEXT {
  USHORT Size;
  USHORT Reserved;
  struct {
    struct {
      NETWORK_OPEN_LOCATION_QUALIFIER  Location;
      NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
      NETWORK_OPEN_IN_FLAGS            Flags;
    } in;
    struct {
      NETWORK_OPEN_LOCATION_QUALIFIER  Location;
      NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
      NETWORK_OPEN_OUT_FLAGS           Flags;
    } out;
  } DUMMYSTRUCTNAME;
} NETWORK_OPEN_ECP_CONTEXT, *PNETWORK_OPEN_ECP_CONTEXT;

成員

Size

這個結構的大小,以位元組為單位。

Reserved

保留的。 必須設定為零。

DUMMYSTRUCTNAME

結構,其中包含開啟檔案 (預先建立) 的限制,並在建立) 後 (後套用至檔案。

DUMMYSTRUCTNAME.in

結構,包含開啟檔案的預先建立限制。

DUMMYSTRUCTNAME.in.Location

NETWORK_OPEN_LOCATION_QUALIFIER型別值,指定附加至檔案的位置限制。

DUMMYSTRUCTNAME.in.Integrity

NETWORK_OPEN_INTEGRITY_QUALIFIER型別值,指定附加至檔案的完整性限制。

DUMMYSTRUCTNAME.in.Flags

從 Windows 7 開始支援。 值,指定檔案的屬性。 這個成員是下列任何旗標的位 OR。

意義
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING (0x1) 向SMB重新導向器指出,傳入的開啟要求不得反轉並折疊至相同檔案的現有開啟句柄。
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY (0x2) 讓SMB2+重新導向器在此開啟的句柄上停用持久性。 如需開啟長期作業之檔案的詳細資訊,請參閱 應用程式要求建立針對長期作業開啟的檔案
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_OPLOCKS (0x4) 向SMB重新導向器表示不授與連入開啟要求的oplock。 從 Windows 8 開始,即可使用此旗標。
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK (0x80000000) 保留供內部使用,應用程式不得使用。 即使已針對異步 I/O 開啟句柄,此旗標仍會強制重新導向器使用同步 I/O。

DUMMYSTRUCTNAME.out

結構,其中包含在開啟檔案之後套用至檔案的建立後限制。

DUMMYSTRUCTNAME.out.Location

NETWORK_OPEN_LOCATION_QUALIFIER型別值,指定附加至檔案的位置限制。

DUMMYSTRUCTNAME.out.Integrity

NETWORK_OPEN_INTEGRITY_QUALIFIER型別值,指定附加至檔案的完整性限制。

DUMMYSTRUCTNAME.out.Flags

從 Windows 7 開始支援。 值,指定檔案的屬性。 這個成員是下列任何旗標的位 OR。

意義
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING (0x1) 向SMB重新導向器指出,傳入的開啟要求不得反轉並折疊至相同檔案的現有開啟句柄。
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY (0x2) 讓SMB2+重新導向器在此開啟的句柄上停用持久性。 如需開啟長期作業之檔案的詳細資訊,請參閱 應用程式要求建立針對長期作業開啟的檔案
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK (0x80000000) 保留供內部使用,應用程式不得使用。 即使已針對異步 I/O 開啟句柄,此旗標仍會強制重新導向器使用同步 I/O。

備註

如需有關如何在建立檔案時使用 ECP 將額外資訊與檔案產生關聯的資訊,請參閱 搭配使用額外的建立參數與IRP_MJ_CREATE作業

篩選驅動程式應該將NETWORK_OPEN_ECP_CONTEXT結構視為唯讀,只使用它來擷取檔案上網路 ECP 內容的相關信息。 如需詳細資訊,請參閱 系統定義的 ECP

如果呼叫端必須確認文件系統確認 NETWORK_OPEN_ECP_CONTEXT 內容結構,呼叫端應該在作業完成後呼叫 ECP 上的 FltIsEcpAcknowledgedFsRtlIsEcpAcknowledged 例程。

在 Windows 7 和更新版本的 Windows 上執行的驅動程式,而且必須解譯位於 Windows Vista 上之檔案上的網路 ECP 內容,則必須改用 NETWORK_OPEN_ECP_CONTEXT_V0 結構。

在 Windows Vista 和更新版本的 Windows 上執行的驅動程式會使用 NETWORK_OPEN_ECP_CONTEXT 結構來解譯檔案上的網路 ECP 內容。 不過,從 Windows 7 開始,才支援 DUMMYSTRUCTNAME.in.FlagsDUMMYSTRUCTNAME.out.Flags 成員。

規格需求

需求
最低支援的用戶端 從 Windows Vista 開始,即可使用此結構。
標頭 ntifs.h (包含 Ntifs.h)

另請參閱

FltIsEcpAcknowledged

FsRtlIsEcpAcknowledged

NETWORK_OPEN_ECP_CONTEXT_V0

NETWORK_OPEN_LOCATION_QUALIFIER

NETWORK_OPEN_INTEGRITY_QUALIFIER