Condividi tramite


Funzione RpcServerInqCallAttributesA (rpcasync.h)

La funzione RpcServerInqCallAttributes è una chiamata al server RPC che ottiene gli attributi del contesto di sicurezza client.

Sintassi

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

Parametri

[in] ClientBinding

Facoltativo. Per l'associazione esplicita all'interno di una routine server, ClientBinding è l'handle di associazione con cui è stata chiamata la routine di gestione. Vedere la sezione Osservazioni.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 struttura che riceve attributi di chiamata.

Valore restituito

Restituisce RPC_S_OK al termine dell'esito positivo e RpcCallAttributes viene riempito. Se ERROR_MORE_DATA viene restituito, uno o più campi in RpcCallAttributes erano di lunghezza insufficiente e non è stato possibile riempire. Per informazioni dettagliate sulla gestione ERROR_MORE_DATA, vedere Osservazioni in RPC_CALL_ATTRIBUTES_V2 .

In caso di errore, il contenuto di RpcCallAttributes non è definito e può essere parzialmente modificato da RPC.

Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

La funzione RpcServerInqCallAttributes usa uno schema di controllo delle versioni per incorporare nuove funzionalità senza dover introdurre nuove funzioni con identificatori di suffisso. Ad esempio, una seconda versione del RPC_CALL_ATTRIBUTES_V2, identificata con una semplice #define nell'intestazione, può aggiungere nuovi membri per facilitare nuove funzionalità incorporate nelle versioni future della funzione RpcServerInqCallAttributes , senza dover rilasciare una funzione denominata RpcServerInqCallAttributesEx.

Se la funzione RpcServerInqCallAttributes viene chiamata all'esterno di una routine server e se la chiamata alla funzione esegue query sugli attributi del contesto di sicurezza per una chiamata RPC asincrona, ClientBinding può essere recuperata chiamando la funzione RpcAsyncGetCallHandle dall'handle asincrono.

La funzione RpcServerInqCallAttributes non è supportata per le sequenze di protocolli di datagram, ad esempio ncadg_*. Se viene richiamato in una chiamata eseguita in una sequenza di protocolli datagram, RPC_S_CANNOT_SUPPORT viene restituito.

La funzione RpcServerInqCallAttributes è thread-safe.

Esempi

RPC_CALL_ATTRIBUTES CallAttributes;  // this maps to RPC_CALL_ATTRIBUTES_V1

memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION;    // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);

Nota

L'intestazione rpcasync.h definisce RpcServerInqCallAttributes 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 XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rpcasync.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle