WTSQuerySessionInformationA-Funktion (wtsapi32.h)
Ruft Sitzungsinformationen für die angegebene Sitzung auf dem angegebenen Remotedesktop-Sitzungshostserver (RD Session Host) ab. Es kann verwendet werden, um Sitzungsinformationen auf lokalen und Remote-RD-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 zu einem RD-Sitzungshostserver. Geben Sie ein Handle an, das von der WTSOpenServer--Funktion geöffnet wird, oder geben Sie WTS_CURRENT_SERVER_HANDLE an, um den RD-Sitzungshostserver anzugeben, auf dem Ihre Anwendung ausgeführt wird.
[in] SessionId
Ein Sitzungsbezeichner für Remotedesktopdienste. Um die Sitzung anzugeben, in der die aufrufende Anwendung ausgeführt wird (oder die aktuelle Sitzung), geben Sie WTS_CURRENT_SESSIONan. Geben Sie beim Abrufen von Sitzungsinformationen auf dem lokalen Server nur WTS_CURRENT_SESSION an. Wenn WTS_CURRENT_SESSION beim Abfragen von Sitzungsinformationen auf einem Remoteserver angegeben wird, sind die zurückgegebenen Sitzungsinformationen inkonsistent. Verwenden Sie die zurückgegebenen Daten nicht.
Sie können die WTSEnumerateSessions Funktion verwenden, um die IDs 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. Verwenden Sie das Verwaltungstool für remotedesktopdienste, um Berechtigungen für eine Sitzung zu ändern.
[in] WTSInfoClass
Ein Wert der WTS_INFO_CLASS-Aufzählung, die den Typ der Sitzungsinformationen angibt, die in einem Aufruf der WTSQuerySessionInformation-Funktion 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 sind von der Informationsklasse abhängig, die in der WTSInfoClass Parameter angegeben ist. Rufen Sie zum Freigeben des zurückgegebenen Puffers die WTSFreeMemory-Funktion auf.
[out] pBytesReturned
Ein Zeiger auf eine Variable, die die Größe der in ppBuffer-zurückgegebenen Daten in Byte empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
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 WTSInfoClass Parameter an. Die Sitzungs-ID wird im ppBuffer--Parameter zurückgegeben. Wenn Remotedesktopdienste nicht ausgeführt werden, schlagen Aufrufe von WTSQuerySessionInformation fehl. In diesem Fall können Sie die aktuelle Sitzungs-ID abrufen, indem Sie die ProcessIdToSessionId--Funktion aufrufen.
Um festzustellen, ob ihre Anwendung auf der physischen Konsole ausgeführt wird, müssen Sie WTS_CURRENT_SESSION für den parameter SessionId angeben und WTSClientProtocolType als WTSInfoClass Parameter. Wenn ppBuffer "0" ist, wird die Sitzung an die physische Konsole angefügt.
Anmerkung
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 Code, der nicht codierungsneutral ist, 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 |
---|---|
mindestens unterstützte Client- | Windows Vista |
mindestens unterstützte Server- | Windows Server 2008 |
Zielplattform- | Fenster |
Header- | wtsapi32.h |
Library | Wtsapi32.lib |
DLL- | Wtsapi32.dll |
API-Satz | ext-ms-win-session-wtsapi32-l1-1-0 (eingeführt in Windows 8) |