Partager via


PONLINE_ROUTINE fonction de rappel (resapi.h)

Marque une ressource comme étant disponible pour une utilisation. Le type PONLINE_ROUTINE définit un pointeur vers cette fonction.

Syntaxe

PONLINE_ROUTINE PonlineRoutine;

DWORD PonlineRoutine(
  [in]      RESID Resource,
  [in, out] LPHANDLE EventHandle
)
{...}

Paramètres

[in] Resource

Identificateur de ressource pour la ressource à rendre disponible.

[in, out] EventHandle

Lors de l’entrée, EventHandle a la valeur NULL. Sur la sortie, EventHandle contient un handle pour un objet de synchronisation non signé. La DLL de ressource peut signaler ce handle à tout moment pour signaler une défaillance de ressource au moniteur de ressources. EventHandle peut également être défini sur NULL lors de la sortie, ce qui indique que la ressource ne prend pas en charge la notification d’événement asynchrone.

Valeur retournée

Code/valeur de retour Description
ERROR_SUCCESS
0
L’opération a réussi et la ressource est maintenant en ligne.
ERROR_RESOURCE_NOT_AVAILABLE
5006 (0x138E)
La ressource a été arbitrée avec d’autres systèmes, et l’un des autres systèmes a remporté l’arbitrage. Seules les ressources compatibles avec quorum retournent cette valeur.
ERROR_IO_PENDING
997 (0x3E5)
La demande est en attente et un thread a été activé pour traiter la demande en ligne.
 

Si l’opération n’a pas réussi pour d’autres raisons, Online doit retourner l’un des codes d’erreur système.

Remarques

Si la fonction point d’entrée en ligne retourne un code d’erreur autre que ERROR_IO_PENDING, le Moniteur de ressources journalise un événement et appelle Terminate.

Le renvoi d’un EventHandle valide offre les avantages suivants :

  • Le moniteur de ressources n’effectue pas d’interrogation LookAlive . Il est souvent utile d’éviter cette surcharge, en particulier lorsque votre DLL prend en charge plusieurs instances de ressources.
  • Vous pouvez signaler une défaillance de ressource à tout moment en signalant le handle. Le moniteur de ressources appelle immédiatement IsAlive pour vérifier que la ressource a échoué.
Pour obtenir des stratégies d’implémentation efficaces de la fonction de point d’entrée en ligne , consultez Implémentation en ligne.

Exemples

Consultez Exemples de DLL de ressources.

Configuration requise

Condition requise Valeur
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

NetShareAdd

Fonctions Entry-Point dll de ressource