FILE_REMOTE_PROTOCOL_INFO 結構 (winbase.h)

包含檔案遠端通訊協議資訊。 當 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