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