Fungsi CallNamedPipeW (namedpipeapi.h)
Menyambungkan ke pipa jenis pesan (dan menunggu jika instans pipa tidak tersedia), menulis ke dan membaca dari pipa, lalu menutup pipa.
Sintaks
BOOL CallNamedPipeW(
[in] LPCWSTR 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 |
---|---|
|
Tidak menunggu pipa bernama. Jika pipa bernama tidak tersedia, fungsi mengembalikan kesalahan. |
|
Menunggu tanpa batas waktu. |
|
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 | namedpipeapi.h |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
CloseHandle
CreateFile
CreateNamedPipe
Fungsi Pipa
Gambaran Umum Pipa
TransactNamedPipe
WaitNamedPipe