Freigeben über


WTSQuerySessionInformationA-Funktion (wtsapi32.h)

Ruft Sitzungsinformationen für die angegebene Sitzung auf dem angegebenen Remotedesktopsitzungshostserver (RD-Sitzungshost) ab. Es kann verwendet werden, um Sitzungsinformationen auf lokalen und Remotedesktop-Sitzungshostservern abzufragen.

Syntax

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

Parameter

[in] hServer

Ein Handle für einen RD-Sitzungshostserver. Geben Sie ein Von der WTSOpenServer-Funktion geöffnetes Handle an, oder geben Sie WTS_CURRENT_SERVER_HANDLE an, um den RD-Sitzungshostserver anzugeben, auf dem Ihre Anwendung ausgeführt wird.

[in] SessionId

Ein Remotedesktopdienste-Sitzungsbezeichner. Um die Sitzung anzugeben, in der die aufrufende Anwendung ausgeführt wird (oder die aktuelle Sitzung), geben Sie WTS_CURRENT_SESSION an. Geben Sie beim Abrufen von Sitzungsinformationen auf dem lokalen Server nur WTS_CURRENT_SESSION an. Wenn beim Abfragen von Sitzungsinformationen auf einem Remoteserver WTS_CURRENT_SESSION angegeben wird, sind die zurückgegebenen Sitzungsinformationen inkonsistent. Verwenden Sie nicht die zurückgegebenen Daten.

Sie können die FUNKTION WTSEnumerateSessions verwenden, um die Bezeichner aller Sitzungen auf einem angegebenen RD-Sitzungshostserver abzurufen.

Um Informationen für die Sitzung eines anderen Benutzers abzufragen, müssen Sie über die Berechtigung Abfrageinformationen verfügen. Weitere Informationen finden Sie unter Berechtigungen für Remotedesktopdienste. Um Berechtigungen für eine Sitzung zu ändern, verwenden Sie das Verwaltungstool Remotedesktopdienstekonfiguration.

[in] WTSInfoClass

Ein Wert der WTS_INFO_CLASS-Enumeration , der den Typ der Sitzungsinformationen angibt, die in einem Aufruf der FUNKTION WTSQuerySessionInformation abgerufen werden sollen.

[out] ppBuffer

Ein Zeiger auf eine Variable, die einen Zeiger auf die angeforderten Informationen empfängt. Das Format und der Inhalt der Daten hängen von der im WTSInfoClass-Parameter angegebenen Informationsklasse ab. Um den zurückgegebenen Puffer freizugeben, rufen Sie die Funktion WTSFreeMemory auf .

[out] pBytesReturned

Ein Zeiger auf eine Variable, die die Größe der in ppBuffer zurückgegebenen Daten in Bytes empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Um die Sitzungs-ID für die aktuelle Sitzung abzurufen, wenn Remotedesktopdienste ausgeführt werden, rufen Sie WTSQuerySessionInformation auf, und geben Sie WTS_CURRENT_SESSION für den Parameter SessionId und WTSSessionId für den PARAMETER WTSInfoClass an. Die Sitzungs-ID wird im ppBuffer-Parameter zurückgegeben. Wenn Remotedesktopdienste nicht ausgeführt werden, schlagen Aufrufe von WTSQuerySessionInformation fehl. In dieser Situation können Sie die aktuelle Sitzungs-ID abrufen, indem Sie die ProcessIdToSessionId-Funktion aufrufen.

Um zu ermitteln, ob Ihre Anwendung auf der physischen Konsole ausgeführt wird, müssen Sie WTS_CURRENT_SESSION für den Parameter SessionId und WTSClientProtocolType als WTSInfoClass-Parameter angeben. Wenn ppBuffer "0" ist, wird die Sitzung an die physische Konsole angefügt.

Hinweis

Der wtsapi32.h-Header definiert WTSQuerySessionInformation als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wtsapi32.h
Bibliothek Wtsapi32.lib
DLL Wtsapi32.dll
APIs ext-ms-win-session-wtsapi32-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

WTSCONFIGINFO

WTSINFOEX

WTS_CLIENT_ADDRESS

WTS_CLIENT_DISPLAY

WTS_CONNECTSTATE_CLASS

WTS_INFO_CLASS

WTS_SESSION_ADDRESS