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