RpcServerInqCallAttributesA-Funktion (rpcasync.h)

Die RpcServerInqCallAttributes-Funktion ist ein RPC-Serveraufruf, der Clientsicherheitskontextattribute abruft.

Syntax

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

Parameter

[in] ClientBinding

Optional. Für die explizite Bindung innerhalb einer Serverroutine ist ClientBinding das Bindungshandle , mit dem die Managerroutine aufgerufen wurde. Siehe Hinweise.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 Struktur, die Aufrufattribute empfängt.

Rückgabewert

Gibt bei Erfolg RPC_S_OK zurück, und RpcCallAttributes wird ausgefüllt. Wenn ERROR_MORE_DATA zurückgegeben wird, war mindestens ein Feld in RpcCallAttributes von unzureichender Länge und konnte nicht ausgefüllt werden. Ausführliche Informationen zur Behandlung ERROR_MORE_DATA finden Sie unter Hinweise in RPC_CALL_ATTRIBUTES_V2.

Bei einem Fehler ist der Inhalt von RpcCallAttributes nicht definiert und kann teilweise von RPC geändert werden.

Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Die RpcServerInqCallAttributes-Funktion verwendet ein Versionsschema, um neue Funktionen zu integrieren, ohne neue Funktionen mit Suffixbezeichnern einführen zu müssen. Beispielsweise kann eine zweite Version des RPC_CALL_ATTRIBUTES_V2, die mit einer einfachen #define im Header identifiziert ist, neue Member hinzufügen, um neue Funktionen zu ermöglichen, die in zukünftigen Versionen der RpcServerInqCallAttributes-Funktion integriert sind, ohne eine Funktion namens RpcServerInqCallAttributesEx freigeben zu müssen.

Wenn die RpcServerInqCallAttributes-Funktion außerhalb einer Serverroutine aufgerufen wird und der Funktionsaufruf die Sicherheitskontextattribute für einen asynchronen RPC-Aufruf abfragt, kann ClientBinding abgerufen werden, indem die RpcAsyncGetCallHandle-Funktion aus dem asynchronen Handle aufgerufen wird.

Die RpcServerInqCallAttributes-Funktion wird für Datagrammprotokollsequenzen wie ncadg_* nicht unterstützt. Wenn für einen Aufruf aufgerufen wird, der für eine Datagrammprotokollsequenz ausgeführt wird, wird RPC_S_CANNOT_SUPPORT zurückgegeben.

Die RpcServerInqCallAttributes-Funktion ist threadsicher.

Beispiele

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);

Hinweis

Der rpcasync.h-Header definiert RpcServerInqCallAttributes als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcasync.h (include Rpc.h)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle