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.
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 |