Partager via


IHostIoCompletionManager::GetHostOverlappedSize, méthode

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

Syntaxe

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

Valeur de retour

HRESULT Description
S_OK GetHostOverlappedSize retourné.
HOST_E_CLRNOTAVAILABLE Le CLR n’a pas été chargé dans un processus ou son état ne lui permet pas d’exécuter du code managé ni de traiter l’appel correctement.
HOST_E_TIMEOUT L’appel a expiré.
HOST_E_NOT_OWNER L’appelant n’est pas propriétaire du verrou.
HOST_E_ABANDONED Un événement a été annulé alors qu’un thread ou une fibre bloqué l’attendait.
E_FAIL Une défaillance catastrophique inconnue s’est produite. Quand une méthode retourne E_FAIL, le CLR n’est plus utilisable au sein du processus. Les appels suivants aux méthodes d’hébergement renvoient HOST_E_CLRNOTAVAILABLE.

Notes

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

Le CLR appelle la méthode GetHostOverlappedSize pour déterminer la taille des données personnalisées que l’hôte a l’intention d’ajouter à l’objet OVERLAPPED.

Notes

GetHostOverlappedSize n’est appelé qu’une seule fois. La taille des données personnalisées de l’hôte doit être la même pour chaque demande d’E/S.

Important

La taille de l’objet OVERLAPPED lui-même n’est pas incluse dans la valeur de pcbSize.

Pour plus d’informations sur la structure OVERLAPPED, consultez la documentation de la plateforme Windows.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MSCorEE.h

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

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi