Condividi tramite


Funzione RpcBindingInqAuthClient (rpcdce.h)

Un'applicazione server chiama la funzione RpcBindingInqAuthClient per ottenere il nome dell'entità o gli attributi dei privilegi del client autenticato che ha effettuato la chiamata alla procedura remota.

Sintassi

RPC_STATUS RpcBindingInqAuthClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

Parametri

ClientBinding

Handle di associazione client del client che ha effettuato la chiamata alla procedura remota. Il valore può essere zero. Vedere la sezione Osservazioni.

Privs

Restituisce un puntatore a un handle per le informazioni con privilegi per l'applicazione client che ha eseguito la chiamata alla procedura remota nell'handle di associazione ClientBinding . Per le chiamate ncalrpc , Privs contiene una stringa con il nome dell'entità del client.

I dati a cui fa riferimento questo parametro sono di sola lettura e non devono essere modificati dall'applicazione server. Se il server vuole mantenere uno dei dati restituiti, il server deve copiare i dati nella memoria allocata dal server.

I dati a cui punta il parametro Privs provengono direttamente dal provider di servizi condivisi. Pertanto, il formato dei dati è specifico del provider di servizi condivisi. Per altre informazioni sui provider di servizi di configurazione, vedere Security Support Providers (SSP).

ServerPrincName

Restituisce un puntatore a un puntatore al nome dell'entità server specificato dall'applicazione server che ha chiamato la funzione RpcServerRegisterAuthInfo . Il contenuto del nome restituito e la relativa sintassi sono definiti dal servizio di autenticazione in uso. Per il provider di servizi condivisi SCHANNEL, il nome dell'entità è in formato Microsoft Standard (msstd). Per altre informazioni sul formato msstd, vedere Principal Names.For further information on msstd format, see Principal Names.

Specificare un valore Null per impedire a RpcBindingInqAuthClient di restituire il parametro ServerPrincName . In questo caso, l'applicazione non chiama la funzione RpcStringFree .

AuthnLevel

Restituisce un puntatore impostato sul livello di autenticazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione ClientBinding .

Specificare un valore Null per impedire a RpcBindingInqAuthClient di restituire il parametro AuthnLevel .

AuthnSvc

Restituisce un puntatore impostato sul servizio di autenticazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione ClientBinding . Per un elenco dei livelli di autenticazione supportati da RPC, vedere Costanti a livello di autenticazione.

Specificare un valore Null per impedire a RpcBindingInqAuthClient di restituire il parametro AuthnSvc .

AuthzSvc

Restituisce un puntatore impostato sul servizio di autorizzazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione ClientBinding .

Specificare un valore Null per impedire a RpcBindingInqAuthClient di restituire il parametro AuthzSvc . Questo parametro non viene usato dal servizio di autenticazione RPC_C_AUTHN_WINNT. Il valore restituito sarà sempre RPC_C_AUTHZ_NONE.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_INVALID_BINDING
Handle di associazione non valido.
RPC_S_WRONG_KIND_OF_BINDING
Si tratta del tipo di binding errato per l'operazione.
RPC_S_BINDING_HAS_NO_AUTH
L'associazione non contiene informazioni di autenticazione.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

Un'applicazione server chiama la funzione RpcBindingInqAuthClient per ottenere il nome dell'entità o gli attributi dei privilegi del client autenticato che ha effettuato la chiamata alla procedura remota. RpcBindingInqAuthClient restituisce anche il servizio di autenticazione, il livello di autenticazione e il nome dell'entità server specificati dal client. Il server può usare i dati restituiti a scopo di autorizzazione.

La libreria di runtime RPC alloca memoria per il parametro ServerPrincName restituito. L'applicazione è responsabile della chiamata della funzione RpcStringFree per la stringa di argomento restituita.

Per le chiamate RPC sincrone, l'applicazione server può usare zero come valore per il parametro ClientBinding . L'utilizzo di zero recupera le informazioni di autenticazione e autorizzazione dalla chiamata di procedura remota attualmente in esecuzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcBindingSetAuthInfo

RpcStringFree