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