DisconnectNamedPipe 함수(namedpipeapi.h)
클라이언트 프로세스에서 명명된 파이프 instance 서버 끝의 연결을 끊습니다.
구문
BOOL DisconnectNamedPipe(
[in] HANDLE hNamedPipe
);
매개 변수
[in] hNamedPipe
명명된 파이프의 instance 대한 핸들입니다. 이 핸들은 CreateNamedPipe 함수에서 만들어야 합니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
명명된 파이프의 클라이언트 끝이 열려 있으면 DisconnectNamedPipe 함수는 명명된 파이프의 끝을 강제로 닫습니다. 클라이언트는 다음에 파이프에 액세스하려고 할 때 오류를 수신합니다. DisconnectNamedPipe에서 파이프를 강제로 해제하는 클라이언트는 여전히 CloseHandle 함수를 사용하여 파이프의 끝을 닫아야 합니다.
파이프는 서버 또는 클라이언트 프로세스에 파이프에 대한 열린 핸들이 있는 한 존재합니다.
서버 프로세스에서 파이프 instance 연결을 끊으면 파이프의 읽지 않은 모든 데이터가 삭제됩니다. 연결을 끊기 전에 서버는 클라이언트 프로세스가 모든 데이터를 읽을 때까지 반환되지 않는 FlushFileBuffers 함수를 호출하여 데이터가 손실되지 않도록 할 수 있습니다.
ConnectNamedPipe 함수를 사용하여 핸들을 다른 클라이언트에 연결하기 전에 서버 프로세스에서 DisconnectNamedPipe를 호출하여 이전 클라이언트에서 파이프 핸들의 연결을 끊어야 합니다.
Windows 10 버전 1709: 파이프는 앱 컨테이너 내에서만 지원됩니다. 즉, 한 UWP 프로세스에서 동일한 앱의 일부인 다른 UWP 프로세스까지 지원됩니다. 또한 명명된 파이프는 파이프 이름에 대한 구문을 \\.\pipe\LOCAL\
사용해야 합니다.
예제
예제는 다중 스레드 파이프 서버를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | namedpipeapi.h |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |