NETWORK_OPEN_ECP_CONTEXT 구조체(ntifs.h)
NETWORK_OPEN_ECP_CONTEXT 구조는 파일에 대한 ECP(네트워크 추가 만들기 매개 변수) 컨텍스트를 해석하는 데 사용됩니다.
통사론
typedef struct _NETWORK_OPEN_ECP_CONTEXT {
USHORT Size;
USHORT Reserved;
struct {
struct {
NETWORK_OPEN_LOCATION_QUALIFIER Location;
NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
NETWORK_OPEN_IN_FLAGS Flags;
} in;
struct {
NETWORK_OPEN_LOCATION_QUALIFIER Location;
NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
NETWORK_OPEN_OUT_FLAGS Flags;
} out;
} DUMMYSTRUCTNAME;
} NETWORK_OPEN_ECP_CONTEXT, *PNETWORK_OPEN_ECP_CONTEXT;
회원
Size
이 구조체의 크기(바이트)입니다.
Reserved
예약. 0으로 설정해야 합니다.
DUMMYSTRUCTNAME
파일 열기(미리 만들기)를 적용하고 파일을 연 후(사후 만들기) 적용할 수 있는 제한 사항이 포함된 구조체입니다.
DUMMYSTRUCTNAME.in
파일 열기에 대한 미리 만들기 제한이 포함된 구조체입니다.
DUMMYSTRUCTNAME.in.Location
파일에 연결할 위치 제한을 지정하는 NETWORK_OPEN_LOCATION_QUALIFIER형식화된 값입니다.
DUMMYSTRUCTNAME.in.Integrity
파일에 연결할 무결성 제한을 지정하는 NETWORK_OPEN_INTEGRITY_QUALIFIER형식화된 값입니다.
DUMMYSTRUCTNAME.in.Flags
Windows 7부터 지원됩니다. 파일의 특성을 지정하는 값입니다. 이 멤버는 다음 플래그 중 비트 OR입니다.
값 | 의미 |
---|---|
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING(0x1) | 들어오는 열기 요청을 피기백하고 동일한 파일에 대한 기존 열린 핸들로 축소해서는 안 됨을 SMB 리렉터에 나타냅니다. |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY(0x2) | SMB2+ 리렉터에서 이 열린 핸들에서 내구성을 사용하지 않도록 설정합니다. 지속성 작업을 위해 파일을 여는 방법에 대한 자세한 내용은 지속성 작업열려 있는 파일을 만드는 |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_OPLOCKS(0x4) | 들어오는 열기 요청에 대한 oplock을 부여하지 않도록 SMB 리다이렉터에 나타냅니다. 이 플래그는 Windows 8부터 사용할 수 있습니다. |
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK(0x80000000) | 내부용으로 예약되며 애플리케이션에서 사용해서는 안 됩니다. 이 플래그는 비동기 I/O에 대해 핸들이 열렸음에도 불구하고 리디렉터에서 동기 I/O를 사용하도록 강제합니다. |
DUMMYSTRUCTNAME.out
파일을 연 후 파일에 적용할 만들기 후 제한이 포함된 구조체입니다.
DUMMYSTRUCTNAME.out.Location
파일에 연결할 위치 제한을 지정하는 NETWORK_OPEN_LOCATION_QUALIFIER형식화된 값입니다.
DUMMYSTRUCTNAME.out.Integrity
파일에 연결할 무결성 제한을 지정하는 NETWORK_OPEN_INTEGRITY_QUALIFIER형식화된 값입니다.
DUMMYSTRUCTNAME.out.Flags
Windows 7부터 지원됩니다. 파일의 특성을 지정하는 값입니다. 이 멤버는 다음 플래그 중 비트 OR입니다.
값 | 의미 |
---|---|
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_COLLAPSING(0x1) | 들어오는 열기 요청을 피기백하고 동일한 파일에 대한 기존 열린 핸들로 축소해서는 안 됨을 SMB 리렉터에 나타냅니다. |
NETWORK_OPEN_ECP_IN_FLAG_DISABLE_HANDLE_DURABILITY(0x2) | SMB2+ 리렉터에서 이 열린 핸들에서 내구성을 사용하지 않도록 설정합니다. 지속성 작업을 위해 파일을 여는 방법에 대한 자세한 내용은 지속성 작업열려 있는 파일을 만드는 |
NETWORK_OPEN_ECP_IN_FLAG_FORCE_BUFFERED_SYNCHRONOUS_IO_HACK(0x80000000) | 내부용으로 예약되며 애플리케이션에서 사용해서는 안 됩니다. 이 플래그는 비동기 I/O에 대해 핸들이 열렸음에도 불구하고 리디렉터에서 동기 I/O를 사용하도록 강제합니다. |
발언
ECP를 사용하여 파일을 만들 때 추가 정보를 파일에 연결하는 방법에 대한 자세한 내용은 IRP_MJ_CREATE 작업추가 만들기 매개 변수를 사용하는
필터 드라이버는 파일의 네트워크 ECP 컨텍스트에 대한 정보만 검색하는 데만 사용하여 NETWORK_OPEN_ECP_CONTEXT 구조를 읽기 전용으로 간주해야 합니다. 자세한 내용은 System-Defined ECP참조하세요.
호출자가 파일 시스템이 NETWORK_OPEN_ECP_CONTEXT 컨텍스트 구조를 승인했는지 확인해야 하는 경우 호출자는 작업이 완료된 후 ECP에서 FltIsEcpAcknowledged 또는 FsRtlIsEcpAcknowledged 루틴을 호출해야 합니다.
Windows 7 이상 버전의 Windows에서 실행되고 Windows Vista에 있는 파일에서 네트워크 ECP 컨텍스트를 해석해야 하는 드라이버는 대신 NETWORK_OPEN_ECP_CONTEXT_V0 구조를 사용해야 합니다.
Windows Vista 이상 버전에서 실행되는 드라이버는 NETWORK_OPEN_ECP_CONTEXT 구조를 사용하여 파일에서 네트워크 ECP 컨텍스트를 해석합니다. 그러나 DUMMYSTRUCTNAME.in.Flags 및 DUMMYSTRUCTNAME.out.Flags 멤버는 Windows 7부터만 지원됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | 이 구조는 Windows Vista부터 사용할 수 있습니다. |
헤더 | ntifs.h(Ntifs.h 포함) |