структура FILE_REMOTE_PROTOCOL_INFORMATION (ntifs.h)

Структура FILE_REMOTE_PROTOCOL_INFORMATION содержит сведения об удаленном протоколе файла. Эта структура возвращается из FltQueryInformationFile , когда fileRemoteProtocolInformation передается в качестве параметра FileInformationClass .

Синтаксис

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

Один из типов сети удаленного протокола WNNC_NET_XXX, определенных в ntifs.h.

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]

Требования

Требование Значение
Заголовок ntifs.h

См. также раздел

FILE_INFORMATION_CLASS

FltQueryInformationFile