Método IVssHardwareSnapshotProvider::AreLunsSupported (vsprov.h)

O método AreLunsSupported determina se o provedor de hardware dá suporte à criação de cópia de sombra para todos os LUNs que contribuem para o volume. O VSS chama o método AreLunsSupported para cada volume adicionado ao conjunto de cópias de sombra. Antes de chamar esse método, o VSS determina os LUNs que contribuem para o volume.

Para um volume específico, cada LUN pode contribuir apenas uma vez. Um LUN específico pode contribuir para vários volumes.

Nota Os provedores de hardware só têm suporte em sistemas operacionais windows server.
 

Sintaxe

HRESULT AreLunsSupported(
  [in]      LONG                lLunCount,
  [in]      LONG                lContext,
  [in]      VSS_PWSZ            *rgwszDevices,
  [in, out] VDS_LUN_INFORMATION *pLunInformation,
  [out]     BOOL                *pbIsSupported
);

Parâmetros

[in] lLunCount

Contagem de LUNs que contribuem para esse volume de cópia de sombra.

[in] lContext

Contexto de cópia de sombra para o conjunto de cópia de sombra atual como enumerado por uma máscara de bits de sinalizadores da enumeração _VSS_VOLUME_SNAPSHOT_ATTRIBUTES . Se o sinalizador de VSS_VOLSNAP_ATTR_TRANSPORTABLE estiver definido, o conjunto de cópias de sombra será transportável.

[in] rgwszDevices

Lista de dispositivos correspondentes aos LUNs a serem copiados por sombra.

[in, out] pLunInformation

Matriz de estruturas de VDS_LUN_INFORMATION lLunCount, uma para cada LUN que contribui para esse volume de cópia de sombra.

[out] pbIsSupported

Ponteiro para um valor BOOL . Se todos os dispositivos tiverem suporte para cópia de sombra, o provedor deverá armazenar um valor TRUE no local apontado pelo pbIsSupported.

Valor de retorno

Esse método pode retornar um desses valores.

Código/valor de retorno Description
S_OK
0x00000000L
A operação foi concluída com êxito.
E_OUTOFMEMORY
0x8007000EL
Memória insuficiente ou outros recursos do sistema.
E_INVALIDARG
0x80070057L
Um dos valores de parâmetro não é válido.
VSS_E_PROVIDER_VETO
0x80042306L
Ocorreu um erro inesperado do provedor. O provedor deve relatar um evento no log de eventos do aplicativo fornecendo ao usuário informações sobre como resolver o problema.

Observações

Se o subsistema de hardware der suporte às diretrizes de dados de investigação scsi e dados vitais do produto 80 (número de série do dispositivo) e página 83 (identidade do dispositivo), o provedor não precisará modificar as estruturas na matriz pLunInformation .

De qualquer forma, o método AreLunsSupported não deve modificar o valor do membro m_rgInterconnects de qualquer estrutura VDS_LUN_INFORMATION na matriz pLunInformation .

Se o provedor der suporte à criação de cópia de sombra de hardware para todos os LUNs na matriz pLunInformation , ele deverá retornar TRUE no valor BOOL ao qual o parâmetro pbIsSupported aponta. Se o provedor não der suporte a cópias de sombra de hardware para um ou mais LUNs, ele deverá definir esse valor BOOL como FALSE.

O provedor nunca deve concordar em criar cópias de sombra se não puder, mesmo que o problema seja apenas temporário. Se uma condição transitória, como recursos baixos, torna impossível para o provedor criar uma cópia de sombra usando um ou mais LUNs quando AreLunsSupported é chamado, o provedor deve definir o valor BOOL como FALSE.

Requirements

Requirement Value
Cliente mínimo suportado Nenhum compatível
Servidor mínimo compatível Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header vsprov.h

Consulte também

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION

_VSS_VOLUME_SNAPSHOT_ATTRIBUTES