Compartir a través de


IHostIoCompletionManager::GetHostOverlappedSize (Método)

Obtiene el tamaño de los datos personalizados que el host pretende anexar a las solicitudes de E/S.

Sintaxis

HRESULT GetHostOverlappedSize (  
    [out] DWORD *pcbSize  
);  

Parámetros

pcbSize
[out] Puntero al número de bytes que Common Language Runtime (CLR) debe asignar además del tamaño del objeto OVERLAPPED de Win32.

Valor devuelto

HRESULT Descripción
S_OK GetHostOverlappedSize se devolvió correctamente.
HOST_E_CLRNOTAVAILABLE Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente.
HOST_E_TIMEOUT Se agotó el tiempo de espera de la llamada.
HOST_E_NOT_OWNER El autor de la llamada no es el propietario del bloqueo.
HOST_E_ABANDONED Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando.
E_FAIL Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE.

Comentarios

Todas las llamadas de E/S asincrónicas a las API de la Plataforma Windows toman un objeto OVERLAPPED de Win32, que proporciona información como, por ejemplo, la posición del puntero de archivo. Para mantener el estado, las aplicaciones que realizan llamadas de E/S asincrónicas suelen agregar datos personalizados a la estructura. GetHostOverlappedSize e IHostIoCompletionManager::InitializeHostOverlapped proporcionan una oportunidad para que el host incluya estos datos personalizados.

CLR llama al método GetHostOverlappedSize para determinar el tamaño de los datos personalizados que el host pretende anexar al objeto OVERLAPPED.

Nota

A GetHostOverlappedSize se le llama solo una vez. Los datos personalizados del host deben tener el mismo tamaño para cada solicitud de E/S.

Importante

El tamaño del propio objeto OVERLAPPED no se incluye en el valor de pcbSize.

Para obtener más información acerca de la estructura OVERLAPPED, vea la documentación de la Plataforma Windows.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MSCorEE.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también