Método IVdsDrive::QueryExtents (vds.h)
[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]
Devuelve una matriz de las extensiones de una unidad, incluidas las extensiones asignadas y no asignadas.
Sintaxis
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
Parámetros
[out] ppExtentArray
Puntero a la matriz de VDS_DRIVE_EXTENT estructuras pasadas por el autor de la llamada. Los autores de llamadas deben liberar esta matriz mediante la función CoTaskMemFree .
[out] plNumberOfExtents
Puntero al número de extensiones de unidad devueltas en la estructura VDS_DRIVE_EXTENT .
Valor devuelto
Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores se pueden originar en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los posibles valores devueltos se incluyen los siguientes.
Código o valor devuelto | Descripción |
---|---|
|
La información de extensiones se devolvió correctamente. Para una unidad sin extensiones, la matriz está vacía, el valor de plNumberOfExtents se establece en 0 y el valor de ppExtentArray se establece en NULL. |
|
Este valor devuelto indica un problema de software o comunicación dentro de un proveedor que almacena en caché información sobre la matriz. Use el método IVdsHwProvider::Reenumerate seguido del método IVdsHwProvider::Refresh para restaurar la memoria caché. |
|
El objeto drive ya no existe. |
|
La unidad está en estado de error y no puede realizar la operación solicitada. |
|
Otra operación está en curso; esta operación no puede continuar hasta que se completen las operaciones o operaciones anteriores. |
|
El subsistema no admite este método. |
Comentarios
Una unidad puede contribuir en cualquier número de LUN y estos LUN se pueden desenmascarar en cualquier número de equipos diferentes de la red. Use el método IVdsLunPlex::QueryExtents para ver todas las extensiones de un plex LUN.
El miembro LunId de cada estructura VDS_DRIVE_EXTENT especifica el GUID del LUN al que contribuye cada extensión asignada. Por lo tanto, puede usar el resultado de este método para determinar el número de LUN a los que contribuye la unidad contando el número de valores de LunId distintos devueltos en ppExtentArray.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |