Fungsi CallNamedPipeA (winbase.h)

Menyambungkan ke pipa jenis pesan (dan menunggu jika instans pipa tidak tersedia), menulis ke dan membaca dari pipa, lalu menutup pipa.

Sintaks

BOOL CallNamedPipeA(
  [in]  LPCSTR  lpNamedPipeName,
  [in]  LPVOID  lpInBuffer,
  [in]  DWORD   nInBufferSize,
  [out] LPVOID  lpOutBuffer,
  [in]  DWORD   nOutBufferSize,
  [out] LPDWORD lpBytesRead,
  [in]  DWORD   nTimeOut
);

Parameter

[in] lpNamedPipeName

Nama pipa.

[in] lpInBuffer

Data yang akan ditulis ke pipa.

[in] nInBufferSize

Ukuran buffer tulis, dalam byte.

[out] lpOutBuffer

Penunjuk ke buffer yang menerima data yang dibaca dari pipa.

[in] nOutBufferSize

Ukuran buffer baca, dalam byte.

[out] lpBytesRead

Pointer ke variabel yang menerima jumlah byte yang dibaca dari pipa.

[in] nTimeOut

Jumlah milidetik untuk menunggu pipa bernama tersedia. Selain nilai numerik, nilai khusus berikut dapat ditentukan.

Nilai Makna
NMPWAIT_NOWAIT
0x00000001
Tidak menunggu pipa bernama. Jika pipa bernama tidak tersedia, fungsi mengembalikan kesalahan.
NMPWAIT_WAIT_FOREVER
0xffffffff
Menunggu tanpa batas waktu.
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
Menggunakan batas waktu default yang ditentukan dalam panggilan ke fungsi CreateNamedPipe .

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Jika pesan yang ditulis ke pipa oleh proses server lebih panjang dari nOutBufferSize, CallNamedPipe mengembalikan FALSE, dan GetLastError mengembalikan ERROR_MORE_DATA. Sisa pesan dibuang, karena CallNamedPipe menutup handel ke pipa sebelum kembali.

Keterangan

Memanggil CallNamedPipe setara dengan memanggil fungsi CreateFile (atau WaitNamedPipe, jika CreateFile tidak dapat segera membuka pipa), TransactNamedPipe, dan CloseHandle . CreateFile dipanggil dengan bendera akses GENERIC_READ | GENERIC_WRITE, dan bendera handel warisan FALSE.

CallNamedPipe gagal jika pipa adalah pipa jenis byte.

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 Transaksi pada 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

CloseHandle

CreateFile

CreateNamedPipe

Fungsi Pipa

Gambaran Umum Pipa

TransactNamedPipe

WaitNamedPipe