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

リモート プロトコル情報。 このメンバーは、次のフラグの 0 個以上に設定できます。

意味
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 [デスクトップ アプリのみ]
Header winbase.h (Windows.h を含む)

こちらもご覧ください

FILE_INFO_BY_HANDLE_CLASS

GetFileInformationByHandleEx