FILE_REMOTE_PROTOCOL_INFORMATION 结构 (ntifs.h)

FILE_REMOTE_PROTOCOL_INFORMATION 结构包含文件远程协议信息。 当 FileRemoteProtocolInformation 作为 FileInformation 参数传入时,将从 FltQueryInformationFile 返回此结构。

语法

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;

成员

StructureVersion

此结构的版本。 按如下所示设置此成员。

含义
1 通信是在运行 Windows 7 的计算机之间
2 通信是在运行 Windows 8 的计算机之间进行通信的
3 在运行 Windows 8.1 的计算机之间进行通信
4 在运行 Windows 10 或更高版本的计算机之间进行通信

StructureSize

此结构的大小(以字节为单位)。 此成员应设置为 sizeof (FILE_REMOTE_PROTOCOL_INFORMATION) 。

Protocol

ntifs.h 中定义的 WNNC_NET_XXX 远程协议网络类型之一。

ProtocolMajorVersion

远程协议的主要编号。

ProtocolMinorVersion

远程协议的次要数目。

ProtocolRevision

远程协议的修订。

Reserved

应设置为零。 请勿使用此成员。

Flags

远程协议信息。 此成员可以设置为零个或多个以下标志。

含义
REMOTE_PROTOCOL_FLAG_LOOPBACK 远程协议使用环回
REMOTE_PROTOCOL_FLAG_OFFLINE 远程协议使用脱机缓存
REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE 远程协议使用永久性句柄。 仅当 StructureVersion 为 2 或更高时,才支持此标志。
REMOTE_PROTOCOL_INFO_FLAG_PRIVACY 远程协议使用隐私。 仅当 StructureVersion 为 2 或更高时,才支持此标志。
REMOTE_PROTOCOL_INFO_FLAG_INTEGRITY 远程协议使用完整性,以便对数据进行签名。 仅当 StructureVersion 为 2 或更高时,才支持此标志。
REMOTE_PROTOCOL_INFO_FLAG_MUTUAL_AUTH 远程协议使用 Kerberos 的相互身份验证。 仅当 StructureVersion 为 2 或更高时,才支持此标志。

GenericReserved

协议泛型信息结构。

GenericReserved.Reserved[8]

应设置为零。 请勿使用此成员。

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]

要求

要求
Header ntifs.h

另请参阅

FILE_INFORMATION_CLASS

FltQueryInformationFile