WaitNamedPipeA 함수(winbase.h)
제한 시간 간격이 경과하거나 지정된 명명된 파이프의 instance 연결에 사용할 수 있을 때까지 기다립니다(즉, 파이프의 서버 프로세스에 파이프에 보류 중인 ConnectNamedPipe 작업이 있음).
구문
BOOL WaitNamedPipeA(
[in] LPCSTR lpNamedPipeName,
[in] DWORD nTimeOut
);
매개 변수
[in] lpNamedPipeName
명명된 파이프의 이름입니다. 문자열에는 서버 프로세스가 실행 중인 컴퓨터의 이름이 포함되어야 합니다. 파이프가 로컬인 경우 서버 이름 에 마침표가 사용될 수 있습니다. 다음 파이프 이름 형식이 사용됩니다.
\\servername\pipe\pipename
[in] nTimeOut
함수가 명명된 파이프의 instance 사용할 수 있을 때까지 대기하는 시간(밀리초)입니다. 밀리초 수를 지정하는 대신 다음 값 중 하나를 사용할 수 있습니다.
값 | 의미 |
---|---|
|
제한 시간 간격은 CreateNamedPipe 함수의 서버 프로세스에서 지정한 기본값입니다. |
|
함수는 명명된 파이프의 instance 사용할 수 있게 될 때까지 반환되지 않습니다. |
반환 값
제한 시간 간격이 경과하기 전에 파이프의 instance 사용할 수 있는 경우 반환 값은 0이 아닌 값입니다.
제한 시간 간격이 경과하기 전에 파이프의 instance 사용할 수 없는 경우 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
지정된 명명된 파이프의 인스턴스가 없는 경우 WaitNamedPipe 함수는 제한 시간 값에 관계없이 즉시 반환됩니다.
제한 시간 간격이 만료되면 WaitNamedPipe 함수가 실패하고 오류 ERROR_SEM_TIMEOUT.
함수가 성공하면 프로세스는 CreateFile 함수를 사용하여 명명된 파이프에 대한 핸들을 열어야 합니다. 반환 값 TRUE는 사용 가능한 파이프의 instance 하나 이상 있음을 나타냅니다. 서버에 의해 instance 닫혔거나 다른 클라이언트에 의해 열렸기 때문에 파이프에 대한 후속 CreateFile 호출이 실패할 수 있습니다.
Windows 10 버전 1709: 파이프는 앱 컨테이너 내에서만 지원됩니다. 즉, 한 UWP 프로세스에서 동일한 앱의 일부인 다른 UWP 프로세스까지 지원됩니다. 또한 명명된 파이프는 파이프 이름에 대한 구문을 \\.\pipe\LOCAL\
사용해야 합니다.
예제
예제는 명명된 파이프 클라이언트를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |