RPC_POLICY-Struktur (rpcdce.h)

Die RPC_POLICY-Struktur enthält Flags, die die Bindung auf mehreren Computern bestimmen, und Portzuordnungen bei Verwendung der Protokolle ncacn_ip_tcp und ncadg_ip_udp .

Syntax

typedef struct _RPC_POLICY {
  unsigned int  Length;
  unsigned long EndpointFlags;
  unsigned long NICFlags;
} RPC_POLICY, *PRPC_POLICY;

Member

Length

Größe der RPC_POLICY-Struktur in Bytes. Das Length-Element ermöglicht die Kompatibilität mit zukünftigen Versionen dieser Struktur, die möglicherweise zusätzliche Felder enthalten. Legen Sie beim Initialisieren der RPC_POLICY-Struktur im Code immer die Länge gleich sizeof(RPC_POLICY) fest.

EndpointFlags

Eine Reihe von Flags, die die Attribute des Ports bestimmen, an denen der Server Remoteprozeduraufrufe empfängt. Sie können mehrere Flags (mithilfe des bitweisen OR-Operators) aus dem Satz von Werten für eine bestimmte Protokollsequenz angeben. In der folgenden Tabelle sind die möglichen Werte für das EndpointFlags-Element aufgeführt.

Wert Bedeutung
0
Gibt den Systemstandard an.
RPC_C_USE_INTERNET_PORT
Weist den Endpunkt von einem der ports zu, die in der Registrierung als "Internet verfügbar" definiert sind. Gilt nur für ncacn_ip_tcp- und ncadg_ip_udp-Protokollsequenzen.
RPC_C_USE_INTRANET_PORT
Ordnet den Endpunkt über einen der Ports zu, die in der Registrierung als "Intranet verfügbar" definiert sind. Gilt nur für ncacn_ip_tcp- und ncadg_ip_udp-Protokollsequenzen.
RPC_C_MQ_TEMPORARY
Die Serverprozess-Empfangswarteschlange wird automatisch gelöscht, wenn der RPC-Server beendet wird. Alle ausstehenden Anrufe, die sich noch in der Warteschlange befinden, gehen verloren. Dies ist die Standardoption. Gilt nur mit der ncadg_mq Protokollsequenz.
RPC_C_MQ_PERMANENT
Gibt an, dass die Serverprozess-Empfangswarteschlange nach dem Beenden des Serverprozesses beibehalten wird. Standardmäßig wird die Warteschlange gelöscht, wenn der Serverprozess beendet wird. Gilt nur mit ncadg_mq Protokollsequenz.
RPC_C_MQ_CLEAR_ON_OPEN
Wenn die Empfangswarteschlange bereits vorhanden ist, weil sie zuvor als permanente Warteschlange geöffnet wurde, löschen Sie alle ausstehenden Anrufe, die in der Warteschlange warten. Nur mit der ncadg_mq Protokollsequenz gültig.
RPC_C_MQ_USE_EXISTING_SECURITY
Wenn die Empfangswarteschlange bereits vorhanden ist, ändern Sie die vorhandenen Einstellungen für die Authentifizierung oder Verschlüsselung nicht. Gültig nur mit der ncadg_mq Protokollsequenz.
RPC_C_MQ_AUTHENTICATE
Die Serverprozesswarteschlange akzeptiert nur authentifizierte Aufrufe von Clients. Standardmäßig werden sowohl authentifizierte als auch nicht authentifizierte Aufrufe akzeptiert. Gilt nur mit ncadg_mq Protokollsequenz.
RPC_C_MQ_ENCRYPT
Serveraufrufe werden verschlüsselt. Standardmäßig werden sowohl verschlüsselte als auch unverschlüsselte Aufrufe akzeptiert. Gilt nur mit ncadg_mq Protokollsequenz.
RPC_C_MQ_AUTHN_LEVEL_NONE
Die Empfangswarteschlange des Servers akzeptiert alle Aufrufe von Clients. Dies ist die Standardauthentifizierungsstufe. Gilt nur mit dem ncadg_mq-Protokoll .
RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY
Legt fest, dass die Empfangswarteschlange des Servers nur Clientaufrufe akzeptiert, die die Authentifizierungsebene RPC_C_AUTHN_LEVEL_PKT_INTEGRITY oder RPC_C_AUTHN_LEVEL_PKT_PRIVACY haben. Gültig nur mit der ncadg_mq Protokollsequenz.
RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY
Legt fest, dass die Empfangswarteschlange des Servers nur Clientaufrufe akzeptiert, die die Authentifizierungsebene RPC_C_AUTHN_LEVEL_PKT_PRIVACY haben. Anrufe mit einer niedrigeren Authentifizierungsebene werden ignoriert. Gültig nur mit der ncadg_mq Protokollsequenz.
 
 
Hinweis Wenn die Registrierung keinen der Schlüssel enthält, die die Standardrichtlinien angeben, hat der EndpointFlags-Member zur Laufzeit keine Auswirkungen. Wenn ein Schlüssel fehlt oder einen ungültigen Wert enthält, wird die gesamte Konfiguration für dieses Protokoll ( ncacn_ip_tcp, ncadg_ip_udp oder ncadg_mq) als ungültig markiert, und alle Aufrufe von RpcServerUseProtseq*- Funktionen über dieses Protokoll schlagen fehl.
 

NICFlags

Richtlinie für die Bindung an Netzwerkschnittstellenkarten (NICs). In der folgenden Tabelle sind die möglichen Werte für das NICFlags-Element aufgeführt.

Wert Bedeutung
0
Bindet auf Basis der Registrierungseinstellungen an NiCs. Verwenden Sie diesen Wert immer, wenn Sie die RPC_POLICY-Struktur verwenden, um Nachrichtenwarteschlangeneigenschaften zu definieren.
RPC_C_BIND_TO_ALL_NICS
Überschreibt die Registrierungseinstellungen und bindet an alle NICs. Wenn der Bindschlüssel in der Registrierung fehlt, hat der NICFlags-Member zur Laufzeit keine Auswirkungen. Wenn der Schlüssel einen ungültigen Wert enthält, wird die gesamte Konfiguration als ungültig markiert, und alle Aufrufe von RpcServerUseProtseq* schlagen fehl.

Hinweise

Sie können die RPC_Policy-Struktur verwenden, um Richtlinien für Remoteprozeduraufrufe zur Laufzeit festzulegen. Zu diesen Richtlinien gehören u. a. folgende Arten:

  • Message Queuing: Ermöglicht dem Server das Angeben von Nachrichtenwarteschlangeneigenschaften, z. B. Sicherheit, Übermittlungsqualität und Lebensdauer der Server-Prozess-Warteschlange. Diese Richtlinie ist nur für Remoteaufrufe über den Nachrichtenwarteschlangentransport (ncadg_mq) wirksam.
  • Portzuordnung für dynamische Ports: Gibt an, ob der von dieser Anwendung registrierte Endpunkt zur internet- oder intranetverfügbarkeiten Portmenge wechseln soll.
  • Selektive Bindung: Ermöglicht es mehreren Computern, selektiv an NiCs zu binden.
Hinweis Portzuordnungs- und selektive Bindungsrichtlinien sind nur für Remoteaufrufe über TCP- ( ncacn_ip_tcp) und UDP-Verbindungen ( ncadg_ip_udp) wirksam. Weitere Informationen finden Sie unter Konfigurieren der Registrierung für Portzuordnungen und selektive Bindung.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile rpcdce.h (include Rpc.h)

Weitere Informationen

Konfigurieren der Registrierung für Portzuordnungen und selektive Bindung

RPC Message Queuing

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx