Поделиться через


структура 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

Размер этой структуры в байтах. Этот элемент должен иметь размер(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