Compartir a través de


Método IVdsSubSystem2::QueryMaxLunCreateSize2 (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 el tamaño del LUN máximo que se puede crear mediante el tipo y las sugerencias de LUN especificados. Este método es idéntico al método IVdsSubSystem::QueryMaxLunCreateSize , salvo que las sugerencias automagic se proporcionan mediante una estructura de VDS_HINTS2 en lugar de una estructura de VDS_HINTS .

Sintaxis

HRESULT QueryMaxLunCreateSize2(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS2    *pHints2,
  [out] ULONGLONG     *pullMaxLunSize
);

Parámetros

[in] type

Valor de enumeración VDS_LUN_TYPE que especifica el tipo LUN.

[in] pDriveIdArray

Puntero a una matriz que contiene un VDS_OBJECT_ID para cada una de las unidades que se van a usar en la creación del LUN. El proveedor debe intentar usar las unidades en el orden proporcionado. Este parámetro puede ser NULL si el parámetro lNumberOfDrives es cero, en cuyo caso el proveedor debe seleccionar automáticamente unidades.

[in] lNumberOfDrives

Número de entradas de la matriz pDriveIdArray . Este parámetro es opcional y puede ser cero.

[in] pHints2

Puntero a la estructura VDS_HINTS2 utilizada para crear el LUN. Las sugerencias siempre tienen una prioridad menor que los parámetros enumerados antes. Este parámetro es obligatorio y no puede ser NULL.

[out] pullMaxLunSize

Puntero a un búfer que contiene el tamaño máximo del LUN en bytes. Este parámetro es obligatorio y no puede ser NULL.

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 pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.

Código o valor devuelto Descripción
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Hay 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é.
VDS_E_OBJECT_DELETED
0x8004240BL
El objeto subsistema ya no está presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
El subsistema está en estado de error y no puede realizar la operación solicitada.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Otra operación está en curso; esta operación no puede continuar hasta que se completen las operaciones o operaciones anteriores.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
El identificador no hace referencia a un objeto existente. Este valor se puede devolver desde cualquier método que tome una constante VDS_OBJECT_ID .
VDS_E_NOT_SUPPORTED
0x80042400L
Este proveedor no admite esta operación o combinación de parámetros.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h
Library Uuid.lib

Consulte también

IVdsSubSystem2

VDS_HINTS2