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 上下文的信息。 有关详细信息,请参阅 System-Defined ECP。
如果调用方必须验证文件系统是否确认 NETWORK_OPEN_ECP_CONTEXT 上下文结构,调用方应在操作完成后调用 FltIsEcpAcknowledged 或 FsRtlIsEcpAcknowledged 例程。
在 Windows 7 及更高版本的 Windows 上运行,并且必须解释驻留在 Windows Vista 上的文件的网络 ECP 上下文的驱动程序必须改用 NETWORK_OPEN_ECP_CONTEXT_V0 结构。
在 Windows Vista 和更高版本的 Windows 上运行的驱动程序使用 NETWORK_OPEN_ECP_CONTEXT 结构来解释文件上的网络 ECP 上下文。 但是,DUMMYSTRUCTNAME.in.Flags 和 DUMMYSTRUCTNAME.out.Flags 成员仅支持从 Windows 7 开始。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 此结构从 Windows Vista 开始可用。 |
标头 | ntifs.h (include Ntifs.h) |