IHostIoCompletionManager::GetHostOverlappedSize, méthode

Obtient la taille des données personnalisées que l'hôte projette d'ajouter aux demandes d'E/S.

HRESULT GetHostOverlappedSize (
    [out] DWORD *pcbSize
);

Paramètres

  • pcbSize
    [out] Pointeur vers le nombre d'octets que le Common Language Runtime (CLR) doit allouer en plus de la taille de l'objet OVERLAPPED Win32.

Valeur de retour

HRESULT

Description

S_OK

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

Notes

Tous les appels d'E/S asynchrones aux API des plateformes Windows prennent un objet OVERLAPPED Win32 qui fournit des informations telles que la position du pointeur de fichier. Pour conserver l'état, les applications qui font des appels d'E/S asynchrones ajoutent en général des données personnalisées à la structure. GetHostOverlappedSize et IHostIoCompletionManager::InitializeHostOverlapped permettent à l'hôte d'inclure ces données personnalisées.

Le Common Language Runtime (CLR) appelle la méthode GetHostOverlappedSize pour déterminer la taille des données personnalisées que l'hôte projette d'ajouter à l'objet OVERLAPPED.

RemarqueRemarque

GetHostOverlappedSize est appelée une seule fois.Les données personnalisées de l'hôte doivent être de la même taille pour chaque demande d'E/S.

Remarque importanteImportant

La taille de l'objet OVERLAPPED n'est pas incluse dans la valeur de pcbSize.

Pour plus d'informations concernant la structure OVERLAPPED, consultez la documentation de la plateforme Windows.

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

ICLRIoCompletionManager, interface

NativeOverlapped

IHostIoCompletionManager, interface