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 중단을 기다리는 열린 스레드를 차단하는지 여부를 나타내는 부울 값입니다.
OplockAppState
SMB 서버가 현재 열려 있는 스레드를 사용하여 oplock을 요청하는지 여부를 나타내는 부울 값입니다. oplock을 요청하고 그렇지 않으면 FALSE
OplockFinalState
파일 열기 작업이 oplock을 요청하는 최종 파일 열기 작업인지 여부를 나타내는 부울 값입니다.
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가 없거나 인스턴스 유형이 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를 여는 서버에 대한 정보만 검색하는 데 사용해야 합니다. 이 문제에 대한 자세한 내용은 System-Defined ECP참조하세요.
oplock 상태 값(OplockBlockState, OplockAppState및 OplockFinalState)은 SMB 및 SMB2에 대한 시스템 관리를 위한 oplock 중단 논리와 함께 사용됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | 이 구조는 Windows 7부터 사용할 수 있습니다. |
헤더 | ntifs.h(Ntifs.h 포함) |