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.

Nilai Makna
PIPE_NOWAIT
0x00000001
Handel pipa dalam mode nonblocking. Jika bendera ini tidak ditentukan, handel pipa dalam mode pemblokiran.
PIPE_READMODE_MESSAGE
0x00000002
Handel pipa dalam mode baca pesan. Jika bendera ini tidak ditentukan, handel pipa berada dalam mode byte-read.

[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

Lihat juga

Fungsi Pipa

Gambaran Umum Pipa

SetNamedPipeHandleState