다음을 통해 공유


FILE_REMOTE_PROTOCOL_INFO 구조체(winbase.h)

파일 원격 프로토콜 정보를 포함합니다. FileRemoteProtocolInfoFileInformationClass 매개 변수에 전달되면 이 구조체는 GetFileInformationByHandleEx 함수에서 반환됩니다.

구문

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;

멤버

StructureVersion

이 구조체의 버전입니다. 이 멤버는 통신이 Windows 8, Windows Server 2012 이상, 그렇지 않으면 1을 실행하는 컴퓨터 간에 통신하는 경우 2로 설정해야 합니다.

StructureSize

이 구조체의 크기입니다. 이 멤버는 로 sizeof(FILE_REMOTE_PROTOCOL_INFO)설정해야 합니다.

Protocol

Wnnc.h 또는 Ntifs.h에 정의된 원격 프로토콜(WNNC_NET_*)

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

원격 프로토콜의 주 버전입니다.

ProtocolMinorVersion

부 버전의 원격 프로토콜입니다.

ProtocolRevision

원격 프로토콜의 수정 버전입니다.

Reserved

0으로 설정해야 합니다. 이 멤버를 사용하지 마세요.

Flags

원격 프로토콜 정보입니다. 이 멤버는 다음 플래그 중 0개 이상으로 설정할 수 있습니다.

의미
REMOTE_PROTOCOL_FLAG_LOOPBACK
0x1
원격 프로토콜이 루프백을 사용하고 있습니다.
REMOTE_PROTOCOL_FLAG_OFFLINE
0x2
원격 프로토콜이 오프라인 캐시를 사용하고 있습니다.
REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE
0x4
원격 프로토콜이 영구 핸들을 사용하고 있습니다.

Windows 7 및 Windows Server 2008 R2: 이 플래그는 Windows 8 및 Windows Server 2012 전에 지원되지 않습니다.

REMOTE_PROTOCOL_INFO_FLAG_PRIVACY
0x8
원격 프로토콜은 개인 정보를 사용합니다. 이는 StructureVersion 멤버가 2 이상인 경우에만 지원됩니다.

Windows 7 및 Windows Server 2008 R2: 이 플래그는 Windows 8 Windows Server 2012 전에 지원되지 않습니다.

REMOTE_PROTOCOL_INFO_FLAG_INTEGRITY
0x10
원격 프로토콜은 무결성을 사용하여 데이터가 서명되도록 합니다. 이는 StructureVersion 멤버가 2 이상인 경우에만 지원됩니다.

Windows 7 및 Windows Server 2008 R2: 이 플래그는 Windows 8 Windows Server 2012 전에 지원되지 않습니다.

REMOTE_PROTOCOL_INFO_FLAG_MUTUAL_AUTH
0x20
원격 프로토콜은 Kerberos를 사용하여 상호 인증을 사용합니다. 이는 StructureVersion 멤버가 2 이상인 경우에만 지원됩니다.

Windows 7 및 Windows Server 2008 R2: 이 플래그는 Windows 8 Windows Server 2012 전에 지원되지 않습니다.

GenericReserved

프로토콜-제네릭 정보 구조입니다.

GenericReserved.Reserved[8]

0으로 설정해야 합니다. 이 멤버를 사용하지 마세요.

ProtocolSpecificReserved

프로토콜 관련 정보 구조입니다.

ProtocolSpecificReserved.Reserved[16]

0으로 설정해야 합니다. 이 멤버를 사용하지 마세요.

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]

설명

FILE_REMOTE_PROTOCOL_INFO 구조체는 GetFileInformationByHandleEx 함수에만 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 winbase.h(Windows.h 포함)

추가 정보

FILE_INFO_BY_HANDLE_CLASS

GetFileInformationByHandleEx