CreateNamedPipe()의 nOutBufferSize 및 nInBufferSize 매개 변수는 내부 입력 및 출력 버퍼 크기에 대해 예약할 바이트 수를 나타냅니다. 이러한 크기는 명명된 파이프 인스턴스가 생성될 때마다 시스템이 비페이징 풀(운영 체제에서 사용하는 실제 메모리)을 사용하여 인바운드 및/또는 아웃바운드 버퍼를 설정한다는 점에서 권고사항입니다. 지정된 버퍼 크기는 시스템이 페이징되지 않은 풀 메모리가 부족하지 않도록 합리적이어야 하지만 일반적인 I/O 요청을 수용할 수 있을 만큼 충분히 커야 합니다. 응용 프로그램이 지정된 버퍼 크기보다 큰 데이터를 작성하려고 하면 시스템은 페이징되지 않은 풀 메모리를 사용하여 데이터를 수용하도록 버퍼를 자동으로 확장하려고 시도합니다. 실용적인 목적을 위해 응용 프로그램은 ReadFile() 및 WriteFile()를 호출할 때 사용되는 응용 프로그램의 송수신 버퍼 크기와 일치하도록 이러한 내부 버퍼의 크기를 조정해야 합니다. CreateFile(.)을 호출하여 명명된 파이프를 만들 수 없습니다. 나는 리눅스에서 FIFO와 같은 C ++ (윈도우)에서 2 프로세스 사이의 간단한 comunication을 만들려고노력하고 있습니다. 이것은 내 서버입니다 : 당신이 라는 파이프 서버라는 네트워크를 통해 클라이언트 파이프를 설정하는 것을 나타냅니다. 이 경우 이중 백슬래시()를 포함해야 합니다. 파이프 이름 인수는 클라이언트 파이프의 이름을 지정합니다. 서버 이름 인수는 명명된 파이프 서버의 이름을 지정합니다. 명명된 파이프를 사용하여 동일한 컴퓨터의 프로세스 간 또는 네트워크를 통해 다른 컴퓨터의 프로세스 간에 통신을 제공할 수 있습니다.

서버 서비스가 실행 중인 경우 명명된 모든 파이프에 원격으로 액세스할 수 있습니다. 명명된 파이프를 로컬로만 사용하려는 경우 NT AUTHORITYNETWORK에 대한 액세스를 거부하거나 로컬 RPC로 전환합니다. 명명된 파이프는 파이프 서버와 하나 이상의 파이프 클라이언트 간의 통신을 위해 명명된 단방향 또는 이중 파이프입니다. 명명된 파이프의 모든 인스턴스는 동일한 파이프 이름을 공유하지만 각 인스턴스에는 고유한 버퍼 및 핸들이 있으며 클라이언트/서버 통신을 위한 별도의 도관을 제공합니다. 인스턴스를 사용하면 여러 파이프 클라이언트가 동일한 명명된 파이프를 동시에 사용할 수 있습니다. 다음 예제에서는 두 개의 SAS 세션 사이에 WOMEN이라는 명명된 파이프가 설정됩니다. 서버 SAS 세션은 클라이언트 SAS 세션에 데이터를 선택적으로 보냅니다. 먼저 서버 또는 클라이언트를 시작할 수 있습니다. 하나는 다른 연결에 대 한 30 초 기다립니다.

다음 프로그램은 단일 클라이언트 및 서버의 또 다른 예입니다. 이 예제에서는 PRINTTO 프로시저를 사용하여 SUMMARY 프로시저의 결과를 다른 Windows 응용 프로그램으로 지시하고 RESULTS: 첫 번째 SAS 세션에서 명명된 파이프를 서버로 만듭니다. 일반적으로 사용되는 헤더 파일에 있는 #define 의해 “\\\Pipe”) 은 파이프 의 유형을 나타냅니다. 바이트가 기본값입니다. 바이트 파이프와 MESSAGE 파이프의 차이점은 MESSAGE 파이프에 인코딩된 레코드 길이가 포함되지만 바이트 파이프는 포함되지 않는다는 점입니다. EOFCONNECT 옵션을 사용하여 연결이 한 클라이언트에서 다음 클라이언트로 제대로 이동하도록 해야 합니다. 다음은 하나의 서버 SAS 세션과 두 개의 클라이언트에서 EOFCONNECT 옵션을 사용하는 예입니다. 클라이언트는 동일한 PC또는 네트워크를 통해 연결된 PC에 있을 수 있습니다. 응용 프로그램은 SAS 세션 또는 다른 Windows 응용 프로그램일 수 있습니다.