Fungsi WTSQuerySessionInformationA (wtsapi32.h)
Mengambil informasi sesi untuk sesi yang ditentukan pada server Host Sesi Desktop Jarak Jauh (Host Sesi RD) yang ditentukan. Ini dapat digunakan untuk mengkueri informasi sesi di server Host Sesi RD lokal dan jarak jauh.
Sintaks
BOOL WTSQuerySessionInformationA(
[in] HANDLE hServer,
[in] DWORD SessionId,
[in] WTS_INFO_CLASS WTSInfoClass,
[out] LPSTR *ppBuffer,
[out] DWORD *pBytesReturned
);
Parameter
[in] hServer
Handel ke server Host Sesi RD. Tentukan handel yang dibuka oleh fungsi WTSOpenServer , atau tentukan WTS_CURRENT_SERVER_HANDLE untuk menunjukkan server Host Sesi RD tempat aplikasi Anda berjalan.
[in] SessionId
Pengidentifikasi sesi Layanan Desktop Jarak Jauh. Untuk menunjukkan sesi di mana aplikasi panggilan berjalan (atau sesi saat ini) tentukan WTS_CURRENT_SESSION. Hanya tentukan WTS_CURRENT_SESSION saat mendapatkan informasi sesi di server lokal. Jika WTS_CURRENT_SESSION ditentukan saat mengkueri informasi sesi di server jarak jauh, informasi sesi yang dikembalikan tidak akan konsisten. Jangan gunakan data yang dikembalikan.
Anda dapat menggunakan fungsi WTSEnumerateSessions untuk mengambil pengidentifikasi semua sesi di server Host Sesi RD tertentu.
Untuk mengkueri informasi sesi pengguna lain, Anda harus memiliki izin Informasi Kueri. Untuk informasi selengkapnya, lihat Izin Layanan Desktop Jauh. Untuk mengubah izin pada sesi, gunakan alat administratif Konfigurasi Layanan Desktop Jauh.
[in] WTSInfoClass
Nilai enumerasi WTS_INFO_CLASS yang menunjukkan jenis informasi sesi untuk diambil dalam panggilan ke fungsi WTSQuerySessionInformation .
[out] ppBuffer
Penunjuk ke variabel yang menerima penunjuk ke informasi yang diminta. Format dan konten data bergantung pada kelas informasi yang ditentukan dalam parameter WTSInfoClass . Untuk membebaskan buffer yang dikembalikan, panggil fungsi WTSFreeMemory .
[out] pBytesReturned
Penunjuk ke variabel yang menerima ukuran, dalam byte, dari data yang dikembalikan dalam ppBuffer.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Untuk mengambil ID sesi untuk sesi saat ini saat Layanan Desktop Jarak Jauh berjalan, panggil WTSQuerySessionInformation dan tentukan WTS_CURRENT_SESSION untuk parameter SessionId dan WTSSessionId untuk parameter WTSInfoClass . ID sesi akan dikembalikan dalam parameter ppBuffer . Jika Layanan Desktop Jauh tidak berjalan, panggilan ke WTSQuerySessionInformation gagal. Dalam situasi ini, Anda dapat mengambil ID sesi saat ini dengan memanggil fungsi ProcessIdToSessionId .
Untuk menentukan apakah aplikasi Anda berjalan di konsol fisik, Anda harus menentukan WTS_CURRENT_SESSION untuk parameter SessionId , dan WTSClientProtocolType sebagai parameter WTSInfoClass . Jika ppBuffer adalah "0", sesi dilampirkan ke konsol fisik.
Catatan
Header wtsapi32.h mendefinisikan WTSQuerySessionInformation sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | wtsapi32.h |
Pustaka | Wtsapi32.lib |
DLL | Wtsapi32.dll |
Set API | ext-ms-win-session-wtsapi32-l1-1-0 (diperkenalkan dalam Windows 8) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk