Bagikan melalui


Fungsi WTSQuerySessionInformationW (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.

Sintaksis

BOOL WTSQuerySessionInformationW(
  [in]  HANDLE         hServer,
  [in]  DWORD          SessionId,
  [in]  WTS_INFO_CLASS WTSInfoClass,
  [out] LPWSTR         *ppBuffer,
  [out] DWORD          *pBytesReturned
);

Parameter

[in] hServer

Handel ke server Host Sesi RD. Tentukan handel yang dibuka oleh fungsi WTSOpenServer , atau tentukan _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 _CURRENT_SESSION. Hanya tentukan _CURRENT_SESSION saat mendapatkan informasi sesi di server lokal. Jika _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 pada server Host Sesi RD tertentu.

Untuk mengkueri informasi sesi pengguna lain, Anda harus memiliki izin Informasi Kueri. Untuk informasi selengkapnya, lihat Izin Layanan Desktop Jarak Jauh. Untuk mengubah izin pada sesi, gunakan alat administratif Konfigurasi Layanan Desktop Jauh.

[in] WTSInfoClass

Nilai enumerasi _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.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

Untuk mengambil ID sesi saat ini saat Layanan Desktop Jarak Jauh berjalan, panggil WTSQuerySessionInformation dan tentukan _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 _CURRENT_SESSION untuk parameter SessionId, dan WTSClientProtocolType sebagai parameter WTSInfoClass. Jika ppBuffer adalah "0", sesi dilampirkan ke konsol fisik.

Nota

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

Syarat Nilai
klien minimum yang didukung Windows Vista
server minimum yang didukung Windows Server 2008
Platform Target Windows
Header wtsapi32.h
Pustaka Wtsapi32.lib
DLL Wtsapi32.dll
set API ext-ms-win-session-wtsapi32-l1-1-0 (diperkenalkan di Windows 8)

Lihat juga

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS