Partager via


IHostSyncManager::CreateSemaphore, méthode

Crée un objet IHostSemaphore pour le Common Language Runtime (CLR) à utiliser en tant que sémaphore pour les événements d'attente.

HRESULT CreateSemaphore (
    [in]  DWORD dwInitial,
    [in]  DWORD dwMax,
    [out] IHostSemaphore **ppSemaphore
);

Paramètres

  • dwInitial
    [in] Compteur initial pour ppSemaphore.

  • dwMax
    [in] Compteur maximal pour ppSemaphore.

  • ppSemaphore
    [out] Pointeur vers l'adresse d'une instance IHostSemaphore, ou null si le sémaphore n'a pas pu être créé.

Valeur de retour

HRESULT

Description

S_OK

CreateSemaphore a été retourné avec succès.

HOST_E_CLRNOTAVAILABLE

Le CLR n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès.

HOST_E_TIMEOUT

L'appel a expiré.

HOST_E_NOT_OWNER

L'appelant ne possède pas le verrou.

HOST_E_ABANDONED

Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait.

E_FAIL

Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

Mémoire disponible insuffisante pour la création de l'objet événement demandé.

Notes

CreateSemaphore reflète la fonction Win32 qui a le même nom. Les paramètres dwMax et dwInitial utilisent la même sémantique pour le nombre de sémaphores que les paramètres lInitialCount et lMaximumCount Win32, respectivement. dwInitial doit figurer entre zéro et dwMax, inclus. dwMax doit être supérieur à zéro.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MSCorEE.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICLRSyncManager, interface

IHostSemaphore, interface

IHostSyncManager, interface