WaitNamedPipeA 함수(winbase.h)

제한 시간 간격이 경과하거나 지정된 명명된 파이프의 instance 연결에 사용할 수 있을 때까지 기다립니다(즉, 파이프의 서버 프로세스에 파이프에 보류 중인 ConnectNamedPipe 작업이 있음).

구문

BOOL WaitNamedPipeA(
  [in] LPCSTR lpNamedPipeName,
  [in] DWORD  nTimeOut
);

매개 변수

[in] lpNamedPipeName

명명된 파이프의 이름입니다. 문자열에는 서버 프로세스가 실행 중인 컴퓨터의 이름이 포함되어야 합니다. 파이프가 로컬인 경우 서버 이름 에 마침표가 사용될 수 있습니다. 다음 파이프 이름 형식이 사용됩니다.

\\servername\pipe\pipename

[in] nTimeOut

함수가 명명된 파이프의 instance 사용할 수 있을 때까지 대기하는 시간(밀리초)입니다. 밀리초 수를 지정하는 대신 다음 값 중 하나를 사용할 수 있습니다.

의미
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
제한 시간 간격은 CreateNamedPipe 함수의 서버 프로세스에서 지정한 기본값입니다.
NMPWAIT_WAIT_FOREVER
0xffffffff
함수는 명명된 파이프의 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

참고 항목

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

파이프 함수

파이프 개요