¿Cómo obtengo el índice de inicio y el número de elementos visibles en un ListView?

Tengo una vista de lista trabajando en modo virtual, en la vista LargeIcons. Las recuperaciones son caras, por lo que quiero solicitar los datos de todos los elementos visibles. ¿Cómo obtengo el índice de inicio y el número total de elementos visibles?

Actualización: conozco el evento CacheVirtualItems. La base de datos de terceros que estamos usando toma ~ 3s para recuperar un solo registro, pero ~ 4s para recuperar mil registros, así que tengo que hacerlos en bloques grandes. Necesito asegurarme de que los registros visibles se encuentren entre los que recuperamos, así que necesito saber el índice de inicio y el número total de elementos visibles. Si eso no es factible, tendré que encontrar una solución (lo que probablemente implicará usar un DataGridView con una carga de celdas de imagen para imitar la vista LargeIcons), pero me gustaría hacerlo correctamente si es posible.

Respuestas a la pregunta(7)

Su respuesta a la pregunta