ncacn_np 특성
ncacn_np 키워드(keyword) 명명된 파이프를 엔드포인트의 프로토콜 패밀리로 식별합니다.
endpoint("ncacn_np:server-name[\\pipe\\pipe-name]")
-
server-name
-
선택 사항입니다. 서버 이름을 지정합니다. 백슬래시 문자는 선택 사항입니다.
-
pipe-name
-
유효한 파이프 이름을 지정합니다. 유효한 파이프 이름은 백슬래시 문자로 구분된 식별자를 포함하는 문자열입니다. 첫 번째 식별자는 파이프여야 합니다. 각 식별자는 두 개의 백슬래시 문자로 구분되어야 합니다.
서버는 명명된 파이프의 instance 만든 다음 모든 클라이언트에서 사용할 수 있습니다. 클라이언트가 연결을 시도하면 기존 instance 해당 클라이언트와 연결됩니다. 다른 클라이언트가 연결되기 전에 서버는 명명된 파이프의 다른 instance 만들어야 합니다. 클라이언트가 새 instance 만들기 전에 서버에 바인딩하려고 하면 바인딩 호출인 RpcBindingFromStringBinding이 오류 메시지 RPC_S_SERVER_TOO_BUSY 실패할 수 있습니다. 따라서 클라이언트 애플리케이션이 서버가 너무 바빠서 연결을 수락하지 않는 경우를 처리해야 합니다. 클라이언트는 자동으로 다시 시도하거나, 사용자에게 작업 과정을 묻는 메시지를 표시하거나, 정상적으로 실패해야 합니다.
모든 포트 문자열과 마찬가지로 명명된 파이프 포트 문자열의 구문은 전송 구현에 의해 정의되며 IDL 사양과 독립적입니다. MIDL 컴파일러는 제한된 구문 검사를 수행하지만 엔드포인트 사양이 올바른지 보장하지는 않습니다. 일부 오류 클래스는 컴파일 시간이 아닌 런타임에 보고될 수 있습니다.
[
uuid(12345678-4000-2006-0000-20000000001a),
version(1.1),
endpoint("ncacn_np:[\\pipe\\stove\\hat]")
]
interface iface1
{
// Interface definition statements.
}
[
uuid(87654321-4000-2006-0000-20000000001b),
version(1.1),
endpoint("ncacn_np:\\\\myotherserver[\\pipe\\corncob]")
]
interface iface2
{
// Interface definition statements.
}