Partager via


PSET_RESOURCE_STATUS_ROUTINE fonction de rappel (resapi.h)

Appelé pour mettre à jour le status d’une ressource. Le type PSET_RESOURCE_STATUS_ROUTINE définit un pointeur vers cette fonction.

Syntaxe

PSET_RESOURCE_STATUS_ROUTINE PsetResourceStatusRoutine;

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

Paramètres

[in] ResourceHandle

Gérer l’identification de la ressource à mettre à jour. Le paramètre ResourceHandle doit contenir le même handle que celui utilisé pour le paramètre ResourceHandle dans le point d’entrée Open pour cette ressource.

[in] ResourceStatus

Pointeur vers une structure RESOURCE_STATUS qui contient des informations sur l’état de la ressource.

Valeur retournée

SetResourceStatus retourne l’une des valeurs suivantes énumérées à partir de l’énumération RESOURCE_EXIT_STATE .

Code/valeur de retour Description
ResourceExitStateContinue
0
La ressource n’a pas été arrêtée. Les threads de travail peuvent continuer les opérations en ligne et hors connexion pour la ressource.
ResourceExitStateTerminate
1
La ressource a été arrêtée. Les appelants doivent mettre fin aux opérations en ligne ou hors connexion et arrêter immédiatement tous les threads de travail affectés à la ressource.

Notes

Les DLL de ressources appellent la fonction de rappel SetResourceStatus pour mettre à jour la status d’une ressource après que leur fonction de point d’entrée en ligne ou hors connexion a retourné ERROR_IO_PENDING. Il ne doit pas être appelé à un autre moment. Un pointeur vers la fonction SetResourceStatus est passé dans le paramètre SetResourceStatus à l’implémentation de startup de la ressource.

SetResourceStatus est implémenté par le moniteur de ressources et est similaire à la fonction SetServiceStatus .

Mettez à jour l’état actuel d’une ressource chaque fois que vous avez retourné ERROR_IO_PENDING. Si la ressource se trouve dans l’un des états en attente, incrémentez les valeurs des membres CheckPoint et WaitHint de la structure RESOURCE_STATUS et définissez le membre ResourceState sur ClusterResourceOnlinePending ou ClusterResourceOfflinePending avant de commencer à appeler SetResourceStatus. Appelez SetResourceStatus jusqu’à ce que l’une des situations suivantes se produise :

  • La ressource est placée dans l’état ClusterResourceOnline ou ClusterResourceOffline .
  • La limite de temps stockée dans la propriété PendingTimeout de la ressource a été dépassée.
Il n’est pas nécessaire d’appeler SetResourceStatus pour définir l’état d’une ressource à un état en attente, car le Moniteur de ressources la définit automatiquement à l’état d’attente approprié chaque fois que Online ou Offline retourne ERROR_IO_PENDING.

Spécifications

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2008 Entreprise, Windows Server 2008 Datacenter
Plateforme cible Windows
En-tête resapi.h

Voir aussi

ClusWorkerTerminate

Hors connexion

En ligne

Ouvrir

RESOURCE_EXIT_STATE

RESOURCE_STATUS

Fonctions de rappel de DLL de ressource

SetServiceStatus

Startup

Terminer.