SRV_OPEN_ECP_CONTEXT 구조체(ntifs.h)

SRV_OPEN_ECP_CONTEXT 구조는 서버에서 클라이언트 요청에 대한 응답으로 파일을 조건부로 여는 데 사용됩니다.

구문

typedef struct _SRV_OPEN_ECP_CONTEXT {
  PUNICODE_STRING       ShareName;
  PSOCKADDR_STORAGE_NFS SocketAddress;
  BOOLEAN               OplockBlockState;
  BOOLEAN               OplockAppState;
  BOOLEAN               OplockFinalState;
  USHORT                Version;
  SRV_INSTANCE_TYPE     InstanceType;
} SRV_OPEN_ECP_CONTEXT, *PSRV_OPEN_ECP_CONTEXT;

멤버

ShareName

열려는 파일이 포함된 서버의 공유 이름을 제공하는 UNICODE_STRING 구조체에 대한 포인터입니다. 이 필드는 선택 사항이며 NULL일 수 있습니다.

SocketAddress

클라이언트 컴퓨터의 전송 주소를 지정하는 SOCKADDR_STORAGE 구조체에 대한 포인터입니다. 이 클라이언트는 열린 파일 요청을 시작합니다. 이 필드는 선택 사항이며 NULL일 수 있습니다.

OplockBlockState

SMB(서버 메시지 블록) 서버가 oplock 중단을 기다리는 열린 스레드를 차단하는지 여부를 나타내는 부울 값입니다. TRUE 는 열린 스레드가 차단 상태이고 그렇지 않으면 FALSE 임을 나타냅니다.

OplockAppState

SMB 서버가 현재 열려 있는 스레드를 사용하여 oplock을 요청하는지 여부를 나타내는 부울 값입니다. oplock을 요청하려면 TRUE로 설정하고, 그렇지 않으면 FALSE로 설정합니다.

OplockFinalState

파일 열기 작업이 oplock을 요청하는 최종 파일 열기 작업인지 여부를 나타내는 부울 값입니다. TRUE 는 oplock을 가져오기 위한 최종 파일 열기 작업을 나타내고 FALSE 는 그렇지 않음을 나타냅니다.

Version

이 구조체의 버전입니다. 이 멤버는 Windows 10 버전 1703에서 추가되었으므로 액세스하기 전에 먼저 검사 있는지 확인해야 합니다. 구조체 크기가 >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, 버전)이면 이 필드에 액세스할 수 있습니다. 이 멤버는 현재 SRV_OPEN_ECP_CONTEXT_VERSION_2 설정할 수 있습니다.

InstanceType

오픈이 제공되는 SRV_INSTANCE_TYPE . CSVFS에서 사용하는 NTFS 또는 ReFS에 연결하는 파일 시스템 미니필터는 이 필드를 사용하여 이 열기가 CSVFS를 우회하는지 감지할 수 있습니다. 열기가 CSVFS를 통과하는 경우 이 ECP가 없거나 instance 형식이 SrvInstanceTypeCsv입니다. 열기가 CSVFS를 무시하고 숨겨진 볼륨으로 직접 가는 경우 InstanceType 은 SrvInstanceTypePrimary입니다. InstanceType 필드는 버전>이 = SRV_OPEN_ECP_CONTEXT_VERSION_2 경우에만 존재합니다.

설명

파일 시스템 스택은 SRV_OPEN_ECP_CONTEXT 파일 만들기 요청에 연결되어 있는지 여부를 확인할 수 있습니다. 그런 다음 파일 시스템 스택은 SRV_OPEN_ECP_CONTEXT 정보를 사용하여 파일을 열도록 요청한 클라이언트와 파일을 요청한 이유를 확인할 수 있습니다. 파일 만들기 요청에 연결된 SRV_OPEN_ECP_CONTEXT 추가 정보를 검색하는 방법에 대한 자세한 내용은 ECP 검색을 참조하세요.

SRV_OPEN_ECP_CONTEXT 구조체는 읽기 전용입니다. 서버 열기 ECP에 대한 정보만 검색하는 데 사용해야 합니다. 이 문제에 대한 자세한 내용은 시스템 정의 ECP를 참조하세요.

oplock 상태 값(OplockBlockState, OplockAppStateOplockFinalState)은 SMB 및 SMB2에 대한 시스템 관리를 위한 oplock 호환성이 손상되는 논리와 함께 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 이 구조는 Windows 7부터 사용할 수 있습니다.
머리글 ntifs.h(Ntifs.h 포함)

추가 정보

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING