FILE_REMOTE_PROTOCOL_INFORMATION structure (ntifs.h)
The FILE_REMOTE_PROTOCOL_INFORMATION structure contains file remote protocol information. This structure is returned from FltQueryInformationFile when FileRemoteProtocolInformation is passed in as the FileInformationClass parameter.
Syntax
typedef struct _FILE_REMOTE_PROTOCOL_INFORMATION {
USHORT StructureVersion;
USHORT StructureSize;
ULONG Protocol;
USHORT ProtocolMajorVersion;
USHORT ProtocolMinorVersion;
USHORT ProtocolRevision;
USHORT Reserved;
ULONG Flags;
struct {
ULONG Reserved[8];
} GenericReserved;
struct {
ULONG Reserved[16];
} ProtocolSpecificReserved;
union {
struct {
struct {
ULONG Capabilities;
} Server;
struct {
ULONG Capabilities;
ULONG ShareFlags;
ULONG CachingFlags;
UCHAR ShareType;
UCHAR Reserved0[3];
ULONG Reserved1;
} Share;
} Smb2;
ULONG Reserved[16];
} ProtocolSpecific;
} FILE_REMOTE_PROTOCOL_INFORMATION, *PFILE_REMOTE_PROTOCOL_INFORMATION;
Members
StructureVersion
Version of this structure. Set this member as follows.
Value | Meaning |
---|---|
1 | Communication is between computers running Windows 7 |
2 | Communication is between computers running Windows 8 |
3 | Communication is between computers running Windows 8.1 |
4 | Communication is between computers running Windows 10 or later |
StructureSize
Size of this structure, in bytes. This member should be set to sizeof(FILE_REMOTE_PROTOCOL_INFORMATION).
Protocol
One of the WNNC_NET_XXX remote protocol network types defined in ntifs.h.
ProtocolMajorVersion
Major number of the remote protocol.
ProtocolMinorVersion
Minor number of the remote protocol.
ProtocolRevision
Revision of the remote protocol.
Reserved
Should be set to zero. Do not use this member.
Flags
Remote protocol information. This member can be set to zero or more of the following flags.
Value | Meaning |
---|---|
REMOTE_PROTOCOL_FLAG_LOOPBACK | The remote protocol is using a loopback |
REMOTE_PROTOCOL_FLAG_OFFLINE | The remote protocol is using an offline cache |
REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE | The remote protocol is using a persistent handle. This flag is supported only if StructureVersion is 2 or higher. |
REMOTE_PROTOCOL_INFO_FLAG_PRIVACY | The remote protocol is using privacy. This flag is supported only if StructureVersion is 2 or higher. |
REMOTE_PROTOCOL_INFO_FLAG_INTEGRITY | The remote protocol is using integrity so the data is signed. This flag is supported only if StructureVersion is 2 or higher. |
REMOTE_PROTOCOL_INFO_FLAG_MUTUAL_AUTH | The remote protocol is using mutual authentication using Kerberos. This flag is supported only if StructureVersion is 2 or higher. |
GenericReserved
Protocol-generic information structure.
GenericReserved.Reserved[8]
Should be set to zero. Do not use this member.
ProtocolSpecificReserved
ProtocolSpecificReserved.Reserved[16]
ProtocolSpecific
ProtocolSpecific.Smb2
ProtocolSpecific.Smb2.Server
ProtocolSpecific.Smb2.Server.Capabilities
ProtocolSpecific.Smb2.Share
ProtocolSpecific.Smb2.Share.Capabilities
ProtocolSpecific.Smb2.Share.ShareFlags
ProtocolSpecific.Smb2.Share.CachingFlags
ProtocolSpecific.Smb2.Share.ShareType
ProtocolSpecific.Smb2.Share.Reserved0[3]
ProtocolSpecific.Smb2.Share.Reserved1
ProtocolSpecific.Reserved[16]
Requirements
Requirement | Value |
---|---|
Header | ntifs.h |