Freigeben über


PSET_RESOURCE_STATUS_ROUTINE Rückruffunktion (resapi.h)

Wird aufgerufen, um die status einer Ressource zu aktualisieren. Der PSET_RESOURCE_STATUS_ROUTINE-Typs definiert einen Zeiger auf diese Funktion.

Syntax

PSET_RESOURCE_STATUS_ROUTINE PsetResourceStatusRoutine;

DWORD PsetResourceStatusRoutine(
  [in] RESOURCE_HANDLE ResourceHandle,
  [in] PRESOURCE_STATUS ResourceStatus
)
{...}

Parameter

[in] ResourceHandle

Behandeln Sie die Identifizierung der zu aktualisierenden Ressource. Der ResourceHandle-Parameter sollte denselben Handle enthalten, der für den ResourceHandle-Parameter im Einstiegspunkt Open für diese Ressource verwendet wird.

[in] ResourceStatus

Zeiger auf eine RESOURCE_STATUS Struktur, die Informationen zum Zustand der Ressource enthält.

Rückgabewert

SetResourceStatus gibt einen der folgenden Werte zurück, die aus der RESOURCE_EXIT_STATE-Enumeration aufgelistet sind.

Rückgabecode/-wert BESCHREIBUNG
ResourceExitStateContinue
0
Die Ressource wurde nicht beendet. Workerthreads können Online- und Offlinevorgänge für die Ressource fortsetzen.
ResourceExitStateTerminate
1
Die Ressource wurde beendet. Aufrufer sollten Online - oder Offlinevorgänge beenden und sofort alle Workerthreads beenden, die der Ressource zugewiesen sind.

Hinweise

Ressourcen-DLLs rufen die SetResourceStatus-Rückruffunktion auf, um die status einer Ressource zu aktualisieren, nachdem ihre Online- oder Offline-EinstiegspunktfunktionERROR_IO_PENDING zurückgegeben wurde. Es sollte nicht zu einem anderen Zeitpunkt aufgerufen werden. Ein Zeiger auf die SetResourceStatus-Funktion wird im Parameter SetResourceStatus an die Implementierung von Startup der Ressource übergeben.

SetResourceStatus wird vom Ressourcenmonitor implementiert und ähnelt der SetServiceStatus-Funktion .

Aktualisieren Sie den aktuellen Zustand einer Ressource bei Bedarf, nachdem Sie ERROR_IO_PENDING zurückgegeben haben. Wenn sich die Ressource in einem der ausstehenden Zustände befindet, erhöhen Sie die Werte für die CheckPoint - und WaitHint-Member der RESOURCE_STATUS-Struktur , und legen Sie das ResourceState-Element auf ClusterResourceOnlinePending oder ClusterResourceOfflinePending fest, bevor Sie mit dem Aufrufen von SetResourceStatus beginnen. Rufen Sie SetResourceStatus auf, bis eine der folgenden Situationen auftritt:

  • Die Ressource wird entweder im Status ClusterResourceOnline oder ClusterResourceOffline platziert.
  • Das in der PendingTimeout-Eigenschaft der Ressource gespeicherte Zeitlimit wurde überschritten.
Es ist nicht erforderlich , SetResourceStatus aufzurufen, um den Status einer Ressource auf einen ausstehenden Zustand festzulegen, da der Ressourcenmonitor sie automatisch auf den entsprechenden ausstehenden Zustand festlegt, wenn Online oder OfflineERROR_IO_PENDING zurückgibt.

Anforderungen

   
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Zielplattform Windows
Kopfzeile resapi.h

Weitere Informationen

ClusWorkerTerminate

Offline

Online

Öffnen

RESOURCE_EXIT_STATE

RESOURCE_STATUS

Ressourcen-DLL-Rückruffunktionen

SetServiceStatus

Startup

Terminate