Fungsi GetNamedPipeHandleStateA (winbase.h)
Mengambil informasi tentang pipa bernama tertentu. Informasi yang dikembalikan dapat bervariasi selama masa pakai instans pipa bernama.
Sintaks
BOOL GetNamedPipeHandleStateA(
[in] HANDLE hNamedPipe,
[out, optional] LPDWORD lpState,
[out, optional] LPDWORD lpCurInstances,
[out, optional] LPDWORD lpMaxCollectionCount,
[out, optional] LPDWORD lpCollectDataTimeout,
[out, optional] LPSTR lpUserName,
[in] DWORD nMaxUserNameSize
);
Parameter
[in] hNamedPipe
Handel ke pipa bernama yang informasinya diinginkan. Handel harus memiliki akses GENERIC_READ untuk pipa baca-saja atau baca/tulis, atau harus memiliki akses GENERIC_WRITE dan FILE_READ_ATTRIBUTES untuk pipa tulis-saja.
Parameter ini juga dapat menjadi handel ke pipa anonim, seperti yang dikembalikan oleh fungsi CreatePipe .
[out, optional] lpState
Penunjuk ke variabel yang menunjukkan status handel saat ini. Parameter ini bisa NULL jika informasi ini tidak diperlukan. Salah satu atau kedua nilai berikut ini dapat ditentukan.
[out, optional] lpCurInstances
Penunjuk ke variabel yang menerima jumlah instans pipa saat ini. Parameter ini bisa NULL jika informasi ini tidak diperlukan.
[out, optional] lpMaxCollectionCount
Penunjuk ke variabel yang menerima jumlah maksimum byte yang akan dikumpulkan di komputer klien sebelum transmisi ke server. Parameter ini harus NULL jika handel pipa yang ditentukan adalah ke akhir server dari pipa bernama atau jika proses klien dan server berada di komputer yang sama. Parameter ini bisa NULL jika informasi ini tidak diperlukan.
[out, optional] lpCollectDataTimeout
Penunjuk ke variabel yang menerima waktu maksimum, dalam milidetik, yang dapat diteruskan sebelum pipa bernama jarak jauh mentransfer informasi melalui jaringan. Parameter ini harus NULL jika handel pipa yang ditentukan adalah ke akhir server dari pipa bernama atau jika proses klien dan server berada di komputer yang sama. Parameter ini bisa NULL jika informasi ini tidak diperlukan.
[out, optional] lpUserName
Penunjuk ke buffer yang menerima string nama pengguna yang terkait dengan aplikasi klien. Server hanya dapat mengambil informasi ini jika klien membuka pipa dengan akses SECURITY_IMPERSONATION.
Parameter ini harus NULL jika handel pipa yang ditentukan adalah ke akhir klien dari pipa bernama. Parameter ini bisa NULL jika informasi ini tidak diperlukan.
[in] nMaxUserNameSize
Ukuran buffer yang ditentukan oleh parameter lpUserName , dalam TCHAR. Parameter ini diabaikan jika lpUserName adalah NULL.
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.
Keterangan
Fungsi GetNamedPipeHandleState berhasil ditampilkan meskipun semua penunjuk yang diteruskan ke fungsi tersebut ADALAH NULL.
Untuk mengatur status handel pipa, gunakan fungsi SetNamedPipeHandleState .
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.
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 |