winbase.h) (FILE_REMOTE_PROTOCOL_INFO 结构

包含文件远程协议信息。 当 FileRemoteProtocolInfo 在 FileInformationClass 参数中传递时,将从 GetFileInformationByHandleEx 函数返回此结构。

语法

typedef struct _FILE_REMOTE_PROTOCOL_INFO {
  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;
      } Share;
    } Smb2;
    ULONG Reserved[16];
  } ProtocolSpecific;
} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;

成员

StructureVersion

此结构的版本。 如果通信在运行 Windows 8、Windows Server 2012 或更高版本的计算机之间,则此成员应设置为 2,否则应设置为 1。

StructureSize

此结构的大小。 此成员应设置为 sizeof(FILE_REMOTE_PROTOCOL_INFO)

Protocol

在 Wnnc.h 或 Ntifs.h 中定义的远程协议 (WNNC_NET_ *) 。

WNNC_NET_MSNET (0x00010000)

WNNC_NET_SMB (0x00020000)

WNNC_NET_LANMAN (0x00020000)

WNNC_NET_NETWARE (0x00030000)

WNNC_NET_VINES (0x00040000)

WNNC_NET_10NET (0x00050000)

WNNC_NET_LOCUS (0x00060000)

WNNC_NET_SUN_PC_NFS (0x00070000)

WNNC_NET_LANSTEP (0x00080000)

WNNC_NET_9TILES (0x00090000)

WNNC_NET_LANTASTIC (0x000A0000)

WNNC_NET_AS400 (0x000B0000)

WNNC_NET_FTP_NFS (0x000C0000)

WNNC_NET_PATHWORKS (0x000D0000)

WNNC_NET_LIFENET (0x000E0000)

WNNC_NET_POWERLAN (0x000F0000)

WNNC_NET_BWNFS (0x00100000)

WNNC_NET_COGENT (0x00110000)

WNNC_NET_FARALLON (0x00120000)

WNNC_NET_APPLETALK (0x00130000)

WNNC_NET_INTERGRAPH (0x00140000)

WNNC_NET_SYMFONET (0x00150000)

WNNC_NET_CLEARCASE (0x00160000)

WNNC_NET_FRONTIER (0x00170000)

WNNC_NET_BMC (0x00180000)

WNNC_NET_DCE (0x00190000)

WNNC_NET_AVID (0x001A0000)

WNNC_NET_DOCUSPACE (0x001B0000)

WNNC_NET_MANGOSOFT (0x001C0000)

WNNC_NET_SERNET (0x001D0000)

WNNC_NET_RIVERFRONT1 (0x001E0000)

WNNC_NET_RIVERFRONT2 (0x001F0000)

WNNC_NET_DECORB (0x00200000)

WNNC_NET_PROTSTOR (0x00210000)

WNNC_NET_FJ_REDIR (0x00220000)

WNNC_NET_DISTINCT (0x00230000)

WNNC_NET_TWINS (0x00240000)

WNNC_NET_RDR2SAMPLE (0x00250000)

WNNC_NET_CSC (0x00260000)

WNNC_NET_3IN1 (0x00270000)

WNNC_NET_EXTENDNET (0x00290000)

WNNC_NET_STAC (0x002A0000)

WNNC_NET_FOXBAT (0x002B0000)

WNNC_NET_YAHOO (0x002C0000)

WNNC_NET_EXIFS (0x002D0000)

WNNC_NET_DAV (0x002E0000)

WNNC_NET_KNOWARE (0x002F0000)

WNNC_NET_OBJECT_DIRE (0x00300000)

WNNC_NET_MASFAX (0x00310000)

WNNC_NET_HOB_NFS (0x00320000)

WNNC_NET_SHIVA (0x00330000)

WNNC_NET_IBMAL (0x00340000)

WNNC_NET_LOCK (0x00350000)

WNNC_NET_TERMSRV (0x00360000)

WNNC_NET_SRT (0x00370000)

WNNC_NET_QUINCY (0x00380000)

WNNC_NET_OPENAFS (0x00390000)

WNNC_NET_AVID1 (0x003A0000)

WNNC_NET_DFS (0x003B0000)

WNNC_NET_KWNP (0x003C0000)

WNNC_NET_ZENWORKS (0x003D0000)

WNNC_NET_DRIVEONWEB (0x003E0000)

WNNC_NET_VMWARE (0x003F0000)

WNNC_NET_RSFX (0x00400000)

WNNC_NET_MFILES (0x00410000)

WNNC_NET_MS_NFS (0x00420000)

WNNC_NET_GOOGLE (0x00430000)

WNNC_NET_NDFS (0x00440000)

ProtocolMajorVersion

远程协议的主版本。

ProtocolMinorVersion

远程协议的次要版本。

ProtocolRevision

远程协议的修订。

Reserved

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

Flags

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

含义
REMOTE_PROTOCOL_FLAG_LOOPBACK
0x1
远程协议正在使用环回。
REMOTE_PROTOCOL_FLAG_OFFLINE
0x2
远程协议使用脱机缓存。
REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE
0x4
远程协议使用持久句柄。

Windows 7 和 Windows Server 2008 R2: 在Windows 8和Windows Server 2012之前,不支持此标志。

REMOTE_PROTOCOL_INFO_FLAG_PRIVACY
0x8
远程协议使用隐私。 仅当 StructureVersion 成员为 2 或更高时,才支持此操作。

Windows 7 和 Windows Server 2008 R2: 在Windows 8和Windows Server 2012之前,不支持此标志。

REMOTE_PROTOCOL_INFO_FLAG_INTEGRITY
0x10
远程协议使用完整性,以便对数据进行签名。 仅当 StructureVersion 成员为 2 或更高时,才支持此操作。

Windows 7 和 Windows Server 2008 R2: 在Windows 8和Windows Server 2012之前,不支持此标志。

REMOTE_PROTOCOL_INFO_FLAG_MUTUAL_AUTH
0x20
远程协议使用 Kerberos 的相互身份验证。 仅当 StructureVersion 成员为 2 或更高时,才支持此操作。

Windows 7 和 Windows Server 2008 R2: 在Windows 8和Windows Server 2012之前,不支持此标志。

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.Reserved[16]

注解

FILE_REMOTE_PROTOCOL_INFO 结构仅对 GetFileInformationByHandleEx 函数有效。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 winbase.h (包括 Windows.h)

另请参阅

FILE_INFO_BY_HANDLE_CLASS

GetFileInformationByHandleEx