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 |
---|---|
|
L’opération a réussi et la ressource est maintenant en ligne. |
|
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. |
|
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é.
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 |