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