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

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS