RpcNsMgmtHandleSetExpAge-Funktion (rpcnsi.h)
Die RpcNsMgmtHandleSetExpAge-Funktion legt das Ablaufalter eines Name-Dienst-Handles für lokale Kopien von Name-Dienst-Daten fest.
Syntax
RPC_STATUS RpcNsMgmtHandleSetExpAge(
RPC_NS_HANDLE NsHandle,
unsigned long ExpirationAge
);
Parameter
NsHandle
Name-Dienst-Handle, für das ein Ablaufalter festgelegt ist. Ein Name-Dienst-Handle wird von einem Namensdienst-Startvorgang zurückgegeben.
ExpirationAge
Ganzzahliger Wert in Sekunden, der das Ablaufalter der lokalen Name-Dienst-Daten festlegt, die von allen nächsten Routinen mithilfe des angegebenen NsHandle-Parameters gelesen werden.
Ein Ablaufalter von 0 bewirkt eine sofortige Aktualisierung der lokalen Name-Dienst-Daten.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Der Namensdienst ist nicht verfügbar. |
Hinweise
Die RpcNsMgmtHandleSetExpAge-Funktion legt ein Handle-Ablaufalter für ein angegebenes Name-Dienst-Handle (NsHandle) fest. Das Ablaufalter ist die Zeitspanne, die eine lokale Kopie von Daten aus einem name-service-Attribut vorhanden sein kann, bevor eine Anforderung der Anwendung für das Attribut eine Aktualisierung der lokalen Kopie erfordert. Wenn eine Anwendung mit der Ausführung beginnt, gibt die RPC-Laufzeitbibliothek ein Standardablaufalter von zwei Stunden an. Der Standardwert ist global für die Anwendung. Ein Handle-Ablaufalter gilt nur für ein bestimmtes Name-Dienst-Handle und überschreibt vorübergehend das aktuelle globale Ablaufalter.
Ein Handle-Ablaufalter wird ausschließlich von Zeigervorgängen (die Daten aus Name-Dienst-Attributen lesen) verwendet. Ein nächster Vorgang beginnt in der Regel mit der Suche nach einer lokalen Kopie der Attributdaten, die von einer Anwendung angefordert werden. Wenn keine lokale Kopie vorhanden ist, wird beim nächsten Vorgang eine mit neuen Attributdaten aus der name-service-Datenbank erstellt. Wenn bereits eine lokale Kopie vorhanden ist, vergleicht der Vorgang sein tatsächliches Alter mit dem Ablaufalter, das von der Anwendung verwendet wird (in diesem Fall das für das Name-Dienst-Handle festgelegte Ablaufalter). Wenn das tatsächliche Alter das Handle-Ablaufalter überschreitet, versucht der Vorgang automatisch, die lokale Kopie mit neuen Attributdaten zu aktualisieren. Wenn die Aktualisierung nicht möglich ist, bleiben die alten lokalen Daten vorhanden, und der nächste Vorgang schlägt fehl, wodurch der RPC_S_NAME_SERVICE_UNAVAILABLE status Code zurückgegeben wird.
Der Bereich eines Handle-Ablaufalters ist eine einzelne Reihe von nächsten Vorgängen. Die RpcNsMgmtHandleSetExpAge-Funktion wird im folgenden Kontext ausgeführt:
- Ein Startvorgang erstellt ein Name-Dienst-Handle.
- Ein Aufruf der RpcNsMgmtHandleSetExpAge-Funktion erstellt ein Ablaufalter für das Handle.
- Eine Reihe von nächsten Vorgängen für das Name-Dienst-Handle verwendet das Ablaufalter des Handles.
- Ein abgeschlossener Vorgang für das Name-Dienst-Handle löscht sowohl das Handle als auch sein Ablaufalter.
- Wenn Sie immer genaue Name-Dienst-Daten abrufen müssen.
Beispielsweise müssen Sie bei Verwaltungsvorgängen zum Aktualisieren eines Profils immer den aktuellen Inhalt des Profils anzeigen. In diesem Fall sollte Ihre Anwendung die RpcNsMgmtHandleSetExpAge-Funktion aufrufen und 0 für den ExpirationAge-Parameter angeben, bevor Sie mit der Abfrage nach einem Profil beginnen.
- Wenn bei einer Anforderung, die das Standardablaufalter verwendet, ein Fehler aufgetreten ist, und Ihre Anwendung den Vorgang wiederholen muss.
Beispielsweise sollte eine Clientanwendung, die Importvorgänge für den Namensdienst verwendet, zuerst versuchen, Bindungen unter Verwendung des Standardablaufalters der Anwendung abzurufen. Manchmal gibt der Import-Next-Vorgang jedoch entweder keine Bindungshandles oder eine unzureichende Anzahl von diesen zurück. In diesem Fall könnte der Client den Importvorgang wiederholen und nach dem RpcNsBindingImportBegin-Aufruf einen RpcNsMgmtHandleSetExpAge-Aufruf einschließen und 0 für den ExpirationAge-Parameter angeben. Wenn der Client die Import-Next-Funktion erneut aufruft, führt das kleine Handle-Ablaufalter dazu, dass der Import-Next-Vorgang die lokalen Attributdaten aktualisiert.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | rpcnsi.h (include Rpc.h) |
Bibliothek | Rpcns4.lib |
DLL | Rpcns4.dll |