Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memungkinkan proses server pipa bernama menunggu proses klien tersambung ke instans pipa bernama. Proses klien tersambung dengan memanggil fungsi CreateFile atau CallNamedPipe.
Sintaksis
BOOL ConnectNamedPipe(
[in] HANDLE hNamedPipe,
[in, out, optional] LPOVERLAPPED lpOverlapped
);
Parameter
[in] hNamedPipe
Handel ke akhir server instans pipa bernama. Handel ini dikembalikan oleh fungsi
[in, out, optional] lpOverlapped
Penunjuk ke struktur
Jika
Jika
Jika hNamedPipe tidak dibuka dengan FILE_FLAG_OVERLAPPED, fungsi tidak akan kembali hingga klien tersambung atau terjadi kesalahan. Operasi sinkron yang berhasil menghasilkan fungsi yang mengembalikan nilai bukan nol jika klien tersambung setelah fungsi dipanggil.
Mengembalikan nilai
Jika operasi sinkron, ConnectNamedPipe tidak kembali hingga operasi selesai. Jika fungsi berhasil, nilai yang dikembalikan bukan nol. Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Jika operasi tidak sinkron, ConnectNamedPipe segera kembali. Jika operasi masih tertunda, nilai yang dikembalikan adalah nol dan GetLastError mengembalikan ERROR_IO_PENDING. (Anda dapat menggunakan makro
Jika klien tersambung sebelum fungsi dipanggil, fungsi mengembalikan nol dan GetLastError mengembalikan ERROR_PIPE_CONNECTED. Ini dapat terjadi jika klien terhubung dalam interval antara panggilan ke CreateNamedPipe dan panggilan ke ConnectNamedPipe. Dalam situasi ini, ada koneksi yang baik antara klien dan server, meskipun fungsi mengembalikan nol.
Komentar
Proses server pipa bernama dapat menggunakan ConnectNamedPipe dengan instans pipa yang baru dibuat. Ini juga dapat digunakan dengan instans yang sebelumnya terhubung ke proses klien lain; dalam hal ini, proses server harus terlebih dahulu memanggil fungsi DisconnectNamedPipe untuk memutuskan pegangan dari klien sebelumnya sebelum handel dapat disambungkan kembali ke klien baru. Jika tidak, ConnectNamedPipe mengembalikan nol, dan GetLastError mengembalikan ERROR_NO_DATA jika klien sebelumnya telah menutup handel atau ERROR_PIPE_CONNECTED jika belum menutup handelnya.
Perilaku ConnectNamedPipe tergantung pada dua kondisi: apakah mode tunggu handel pipa diatur ke pemblokiran atau pemblokiran dan apakah fungsi diatur untuk dijalankan secara sinkron atau dalam mode tumpang tindih. Server awalnya menentukan mode tunggu handel pipa dalam fungsi
Proses server dapat menggunakan salah satu fungsi tunggu
Jika handel pipa yang ditentukan dalam mode nonblocking, ConnectNamedPipe selalu segera kembali. Dalam mode nonblocking, ConnectNamedPipe mengembalikan nilai bukan nol saat pertama kali dipanggil untuk instans pipa yang terputus dari klien sebelumnya. Ini menunjukkan bahwa pipa sekarang tersedia untuk dihubungkan ke proses klien baru. Dalam semua situasi lain ketika handel pipa berada dalam mode nonblocking, ConnectNamedPipe mengembalikan nol. Dalam situasi ini, GetLastError mengembalikan ERROR_PIPE_LISTENING jika tidak ada klien yang terhubung, ERROR_PIPE_CONNECTED jika klien terhubung, dan ERROR_NO_DATA jika klien sebelumnya telah menutup handel pipanya tetapi server belum terputus. Perhatikan bahwa koneksi yang baik antara klien dan server hanya ada setelah kesalahan ERROR_PIPE_CONNECTED diterima.
Contoh
Misalnya, lihat
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 2000 Professional [aplikasi desktop | Aplikasi UWP] |
| server minimum yang didukung |
Windows 2000 Server [aplikasi desktop | Aplikasi UWP] |
| Platform Target |
Windows |
| Header |
namedpipeapi.h |
| Pustaka |
Kernel32.lib |
| DLL |
Kernel32.dll |
Lihat juga
Gambaran Umum Pipa