Fungsi WaitNamedPipeA (winbase.h)

Menunggu hingga interval waktu habis berlalu atau instans pipa bernama yang ditentukan tersedia untuk koneksi (artinya, proses server pipa memiliki operasi ConnectNamedPipe yang tertunda pada pipa).

Sintaks

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

Parameter

[in] lpNamedPipeName

Nama pipa bernama. String harus menyertakan nama komputer tempat proses server dijalankan. Periode dapat digunakan untuk nama server jika pipa lokal. Format nama pipa berikut digunakan:

\\servername\pipe\pipename

[in] nTimeOut

Jumlah milidetik bahwa fungsi akan menunggu instans pipa bernama tersedia. Anda bisa menggunakan salah satu nilai berikut alih-alih menentukan sejumlah milidetik.

Nilai Makna
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
Interval waktu habis adalah nilai default yang ditentukan oleh proses server dalam fungsi CreateNamedPipe .
NMPWAIT_WAIT_FOREVER
0xffffffff
Fungsi tidak mengembalikan hingga instans pipa bernama tersedia.

Nilai kembali

Jika instans pipa tersedia sebelum interval waktu habis berlalu, nilai yang dikembalikan bukan nol.

Jika instans pipa tidak tersedia sebelum interval waktu habis berlalu, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika tidak ada instans dari pipa bernama yang ditentukan, fungsi WaitNamedPipe segera mengembalikan, terlepas dari nilai waktu habis.

Jika interval waktu habis berakhir, fungsi WaitNamedPipe akan gagal dengan kesalahan ERROR_SEM_TIMEOUT.

Jika fungsi berhasil, proses harus menggunakan fungsi CreateFile untuk membuka handel ke pipa bernama. Nilai pengembalian TRUE menunjukkan bahwa setidaknya ada satu instans pipa yang tersedia. Panggilan CreateFile berikutnya ke pipa dapat gagal, karena instans ditutup oleh server atau dibuka oleh klien lain.

Windows 10, versi 1709: Pipa hanya didukung dalam kontainer aplikasi; yaitu, dari satu proses UWP ke proses UWP lain yang merupakan bagian dari aplikasi yang sama. Selain itu, pipa bernama harus menggunakan sintaks \\.\pipe\LOCAL\ untuk nama pipa.

Contoh

Misalnya, lihat Klien Pipa Bernama.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

Fungsi Pipa

Gambaran Umum Pipa