Condividi tramite


Funzione WTSEnumerateSessionsExA (wtsapi32.h)

Recupera un elenco di sessioni in un server Host sessione Desktop remoto (Host sessione Desktop remoto) o nel server Host di virtualizzazione Desktop remoto (Host di virtualizzazione Desktop remoto).

Sintassi

BOOL WTSEnumerateSessionsExA(
  [in]      HANDLE               hServer,
  [in, out] DWORD                *pLevel,
  [in]      DWORD                Filter,
  [out]     PWTS_SESSION_INFO_1A *ppSessionInfo,
  [out]     DWORD                *pCount
);

Parametri

[in] hServer

Handle al server di destinazione. Specificare un handle restituito dalla funzione WTSOpenServer o WTSOpenServerEx. Per enumerare le sessioni nel server Host sessione Desktop remoto in cui è in esecuzione l'applicazione, specificare WTS_CURRENT_SERVER_HANDLE.

[in, out] pLevel

Questo parametro è riservato. Impostare sempre questo parametro su uno. Nell'output , WTSEnumerateSessionsEx non modifica il valore di questo parametro.

[in] Filter

Questo parametro è riservato. Impostare sempre questo parametro su zero.

[out] ppSessionInfo

Puntatore a una variabile PWTS_SESSION_INFO_1 che riceve un puntatore a una matrice di strutture WTS_SESSION_INFO_1 . Ogni struttura nella matrice contiene informazioni su una sessione nel server host sessione Desktop remoto specificato. Se è stato ottenuto un handle a un server host di virtualizzazione Desktop remoto chiamando la funzione WTSOpenServerEx , la matrice contiene informazioni sulle sessioni sulle macchine virtuali nel server. Al termine dell'uso della matrice, liberarlo chiamando la funzione WTSFreeMemoryEx . È anche necessario impostare il puntatore su NULL.

[out] pCount

Puntatore a una variabile DWORD che riceve il numero di strutture WTS_SESSION_INFO_1 restituite nel buffer ppSessionInfo .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError .

Commenti

Per ottenere informazioni sulle sessioni in esecuzione nelle macchine virtuali in un server host di virtualizzazione Desktop remoto, è necessario ottenere l'handle chiamando la funzione WTSOpenServerEx . Per liberare il buffer restituito, chiamare la funzione WTSFreeMemoryEx e impostare il parametro WTSClassType su WTSTypeSessionInfoLevel1.

Per enumerare una sessione, è necessario disporre dell'autorizzazione Query Information per tale sessione. Per altre informazioni, vedere Autorizzazioni di Servizi Desktop remoto. Per modificare le autorizzazioni in una sessione, usare lo strumento di amministrazione Configurazione servizi Desktop remoto.

Per enumerare le sessioni in esecuzione in una macchina virtuale ospitata in un server host di virtualizzazione Desktop remoto, è necessario essere un membro del gruppo Administrators nel server host di virtualizzazione Desktop remoto.

Nota

L'intestazione wtsapi32.h definisce WTSEnumerateSessionsEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 7
Server minimo supportato Windows Server 2008 R2
Piattaforma di destinazione Windows
Intestazione wtsapi32.h
Libreria Wtsapi32.lib
DLL Wtsapi32.dll
Set di API ext-ms-win-session-wtsapi32-l1-1-0 (introdotta in Windows 8)

Vedi anche

WTSFreeMemoryEx

WTSOpenServerEx

WTS_SESSION_INFO_1