NETWORK_OPEN_ECP_CONTEXT structure (ntifs.h)
The NETWORK_OPEN_ECP_CONTEXT structure is used to interpret network extra create parameter (ECP) contexts on files.
Syntax
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;
Members
Size
The size, in bytes, of this structure.
Reserved
Reserved. Must be set to zero.
DUMMYSTRUCTNAME
A structure that contains restrictions to apply for opening the file (pre-create) and to apply to the file after it is opened (post-create).
DUMMYSTRUCTNAME.in
Structure that contains pre-create restrictions for opening a file.
DUMMYSTRUCTNAME.in.Location
A NETWORK_OPEN_LOCATION_QUALIFIER-typed value that specifies the location restriction to attach to the file.
DUMMYSTRUCTNAME.in.Integrity
A NETWORK_OPEN_INTEGRITY_QUALIFIER-typed value that specifies the integrity restriction to attach to the file.
DUMMYSTRUCTNAME.in.Flags
Supported starting with Windows 7. A value that specifies attributes for the file. This member is a bitwise OR of any of the following flags.
Value | Meaning |
---|---|
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING (0x1) | Indicates to the SMB redirector that the incoming open request must not be piggybacked and collapsed onto an existing open handle to the same file. |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY (0x2) | Causes the SMB2+ redirector to disable durability on this open handle. For more information about opening a file for durable operation, see Application Requests Creating a File Opened for Durable Operation. |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_OPLOCKS (0x4) | Indicates to the SMB redirector to not grant oplocks for the incoming open request. This flag is available starting with Windows 8. |
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK (0x80000000) | Reserved for internal use and must not be used by applications. This flag forces the redirector to use synchronous I/O even though the handle was opened for asynchronous I/O. |
DUMMYSTRUCTNAME.out
Structure that contains post-create restrictions to apply to a file after it has been opened.
DUMMYSTRUCTNAME.out.Location
A NETWORK_OPEN_LOCATION_QUALIFIER-typed value that specifies the location restriction to attach to the file.
DUMMYSTRUCTNAME.out.Integrity
A NETWORK_OPEN_INTEGRITY_QUALIFIER-typed value that specifies the integrity restriction to attach to the file.
DUMMYSTRUCTNAME.out.Flags
Supported starting with Windows 7. A value that specifies attributes for the file. This member is a bitwise OR of any of the following flags.
Value | Meaning |
---|---|
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING (0x1) | Indicates to the SMB redirector that the incoming open request must not be piggybacked and collapsed onto an existing open handle to the same file. |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY (0x2) | Causes the SMB2+ redirector to disable durability on this open handle. For more information about opening a file for durable operation, see Application Requests Creating a File Opened for Durable Operation. |
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK (0x80000000) | Reserved for internal use and must not be used by applications. This flag forces the redirector to use synchronous I/O even though the handle was opened for asynchronous I/O. |
Remarks
For information about how to use ECPs to associate extra information with a file when the file is created, see Using Extra Create Parameters with an IRP_MJ_CREATE Operation.
A filter driver should consider the NETWORK_OPEN_ECP_CONTEXT structure to be read-only, using it only to retrieve information about the network ECP context on a file. For more information, see System-Defined ECPs.
If a caller must verify that the file system acknowledged the NETWORK_OPEN_ECP_CONTEXT context structure, the caller should call the FltIsEcpAcknowledged or FsRtlIsEcpAcknowledged routine on the ECP after the operation is complete.
Drivers that run on Windows 7 and later versions of Windows and that must interpret network ECP contexts on files that reside on Windows Vista must use the NETWORK_OPEN_ECP_CONTEXT_V0 structure instead.
Drivers that run on Windows Vista and later versions of Windows use the NETWORK_OPEN_ECP_CONTEXT structure to interpret network ECP contexts on files. However, the DUMMYSTRUCTNAME.in.Flags and DUMMYSTRUCTNAME.out.Flags members are only supported starting with Windows 7.
Requirements
Requirement | Value |
---|---|
Minimum supported client | This structure is available starting with Windows Vista. |
Header | ntifs.h (include Ntifs.h) |