estrutura FILE_REMOTE_PROTOCOL_INFO (winbase.h)

Contém informações de protocolo remoto de arquivo. Essa estrutura é retornada da função GetFileInformationByHandleEx quando FileRemoteProtocolInfo é passado no parâmetro FileInformationClass .

Sintaxe

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;

Membros

StructureVersion

Versão dessa estrutura. Esse membro deverá ser definido como 2 se a comunicação for entre computadores que executam Windows 8, Windows Server 2012 ou posterior e 1 caso contrário.

StructureSize

Tamanho dessa estrutura. Esse membro deve ser definido como sizeof(FILE_REMOTE_PROTOCOL_INFO).

Protocol

Protocolo remoto (WNNC_NET_*) definido em Wnnc.h ou Ntifs.h.

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

Versão principal do protocolo remoto.

ProtocolMinorVersion

Versão secundária do protocolo remoto.

ProtocolRevision

Revisão do protocolo remoto.

Reserved

Deve ser definido como zero. Não use esse membro.

Flags

Informações de protocolo remoto. Esse membro pode ser definido como zero ou mais dos sinalizadores a seguir.

Valor Significado
REMOTE_PROTOCOL_FLAG_LOOPBACK
0x1
O protocolo remoto está usando um loopback.
REMOTE_PROTOCOL_FLAG_OFFLINE
0x2
O protocolo remoto está usando um cache offline.
REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE
0x4
O protocolo remoto está usando um identificador persistente.

Windows 7 e Windows Server 2008 R2: Não há suporte para esse sinalizador antes de Windows 8 e Windows Server 2012.

REMOTE_PROTOCOL_INFO_FLAG_PRIVACY
0x8
O protocolo remoto está usando privacidade. Isso só terá suporte se o membro StructureVersion for 2 ou superior.

Windows 7 e Windows Server 2008 R2: Não há suporte para esse sinalizador antes de Windows 8 e Windows Server 2012.

REMOTE_PROTOCOL_INFO_FLAG_INTEGRITY
0x10
O protocolo remoto está usando a integridade para que os dados sejam assinados. Isso só terá suporte se o membro StructureVersion for 2 ou superior.

Windows 7 e Windows Server 2008 R2: Não há suporte para esse sinalizador antes de Windows 8 e Windows Server 2012.

REMOTE_PROTOCOL_INFO_FLAG_MUTUAL_AUTH
0x20
O protocolo remoto está usando a autenticação mútua usando Kerberos. Isso só terá suporte se o membro StructureVersion for 2 ou superior.

Windows 7 e Windows Server 2008 R2: Não há suporte para esse sinalizador antes de Windows 8 e Windows Server 2012.

GenericReserved

Estrutura de informações genéricas de protocolo.

GenericReserved.Reserved[8]

Deve ser definido como zero. Não use esse membro.

ProtocolSpecificReserved

Estrutura de informações específicas do protocolo.

ProtocolSpecificReserved.Reserved[16]

Deve ser definido como zero. Não use esse membro.

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]

Comentários

A estrutura FILE_REMOTE_PROTOCOL_INFO é válida apenas para uso com a função GetFileInformationByHandleEx .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho winbase.h (inclua Windows.h)

Confira também

FILE_INFO_BY_HANDLE_CLASS

GetFileInformationByHandleEx