Compartilhar via


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

O método FillInLunInfo solicita que o provedor de hardware indique se ele dá suporte ao dispositivo de disco correspondente e corrija as omissões na estrutura VDS_LUN_INFORMATION . O VSS chama o método FillInLunInfo após o método IVssHardwareSnapshotProvider::LocateLuns ou antes do método IVssHardwareSnapshotProvider::OnLunEmpty para obter a estrutura VDS_LUN_INFORMATION associada a um LUN de cópia de sombra. O VSS comparará a estrutura de VDS_LUN_INFORMATION recebida no método IVssHardwareSnapshotProvider::GetTargetLuns para identificar LUNs de cópia de sombra. Se as estruturas não corresponderem, o solicitante receberá VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED, o que indica uma incompatibilidade.

Nota Os provedores de hardware só têm suporte em sistemas operacionais Windows Server.
 

Sintaxe

HRESULT FillInLunInfo(
  [in]      VSS_PWSZ            wszDeviceName,
  [in, out] VDS_LUN_INFORMATION *pLunInfo,
  [out]     BOOL                *pbIsSupported
);

Parâmetros

[in] wszDeviceName

Dispositivo correspondente ao LUN de cópia de sombra.

[in, out] pLunInfo

A estrutura VDS_LUN_INFORMATION para o LUN de cópia de sombra.

[out] pbIsSupported

O provedor deve retornar TRUE no local apontado pelo parâmetro pbIsSupported se o dispositivo tiver suporte.

Retornar valor

O VSS ignora o valor retornado desse método.

Windows Server 2003: O VSS não ignora o valor retornado, que pode ser um dos valores a seguir.

Valor/código retornado Descrição
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 resolve o problema.

Comentários

O VSS chama o método FillInLunInfo para cada estrutura VDS_LUN_INFORMATION que o provedor inicializou anteriormente em seu método GetTargetLuns . O VSS também chama o método FillInLunInfo para cada novo dispositivo de disco que chega ao sistema durante o processo de importação.

O provedor pode corrigir quaisquer omissões na estrutura VDS_LUN_INFORMATION recebida no parâmetro pLunInfo . No entanto, o provedor não deve modificar o valor do membro m_rgInterconnects dessa estrutura.

Os membros da estrutura VDS_LUN_INFORMATION correspondem às informações de Dados de Consulta SCSI e Dados Vitais do Produto 80 (número de série do dispositivo), com as seguintes exceções:

  • O membro m_version deve ser definido como VER_VDS_LUN_INFORMATION.
  • O membro m_BusType é ignorado em comparações durante a importação. Esse valor depende da pilha de armazenamento PnP no dispositivo de disco correspondente. Normalmente, esse é VDSBusTypeScsi.
  • O membro m_diskSignature é ignorado em comparações durante a importação. O provedor deve definir esse membro como GUID_NULL.
Os membros da estrutura VDS_STORAGE_DEVICE_ID_DESCRIPTOR (no membro m_deviceIdDescriptor da estrutura VDS_LUN_INFORMATION ) correspondem às informações da página 83. Nessa estrutura, cada estrutura VDS_STORAGE_IDENTIFIER corresponde à estrutura STORAGE_IDENTIFIER para um identificador de dispositivo (ou seja, um identificador de armazenamento com um tipo de associação igual a zero). Para obter mais informações sobre a estrutura STORAGE_IDENTIFIER, consulte a documentação do WDK (Kit de Driver do Windows).

Se o método FillInLunInfo for chamado para um LUN desconhecido para o provedor, o provedor não deverá retornar um erro. Em vez disso, ele deve retornar FALSE no valor BOOL para o qual o parâmetro pbIsSupported aponta e retornar êxito. Se o provedor reconhecer o LUN, ele deverá definir o valor BOOL como TRUE.

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vsprov.h

Confira também

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER