Метод IVssHardwareSnapshotProvider::AreLunsSupported (vsprov.h)

Метод AreLunsSupported определяет, поддерживает ли поставщик оборудования создание теневых копий для всех LUN, которые участвуют в томе. VSS вызывает метод AreLunsSupported для каждого тома, добавляемого в набор теневых копий. Перед вызовом этого метода VSS определяет LUN, которые участвуют в томе.

Для определенного тома каждый LUN может внести свой вклад только один раз. Определенное LUN может влиять на несколько томов.

Примечание Поставщики оборудования поддерживаются только в операционных системах Windows Server.
 

Синтаксис

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

Параметры

[in] lLunCount

Количество LUN, влияющих на этот том теневого копирования.

[in] lContext

Контекст теневого копирования для текущего набора теневых копий, перечисляемый битовой маской флагов перечисления _VSS_VOLUME_SNAPSHOT_ATTRIBUTES . Если установлен флаг VSS_VOLSNAP_ATTR_TRANSPORTABLE , набор теневого копирования является переносимым.

[in] rgwszDevices

Список устройств, соответствующих теневым копируемым номерам LUN.

[in, out] pLunInformation

Массив структур lLunCountVDS_LUN_INFORMATION , по одной для каждого LUN, который вносит свой вклад в этот том теневого копирования.

[out] pbIsSupported

Указатель на значение BOOL . Если теневое копирование поддерживается на всех устройствах, поставщик должен сохранить значение TRUE в расположении, на которое указывает pbIsSupported.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Возвращаемый код/значение Описание
S_OK
0x00000000L
Операция успешно завершена.
E_OUTOFMEMORY
0x8007000EL
Нехватка памяти или других системных ресурсов.
E_INVALIDARG
0x80070057L
Одно из значений параметра недопустимо.
VSS_E_PROVIDER_VETO
0x80042306L
Произошла непредвиденная ошибка поставщика. Поставщик должен сообщить о событии в журнале событий приложения, предоставляя пользователю сведения о том, как устранить проблему.

Комментарии

Если аппаратная подсистема поддерживает рекомендации по данным запроса SCSI и жизненно важным данным продукта на странице 80 (серийный номер устройства) и странице 83 (удостоверение устройства), поставщику не нужно изменять структуры в массиве pLunInformation .

В любом случае метод AreLunsSupported не должен изменять значение m_rgInterconnects члена любой VDS_LUN_INFORMATION структуры в массиве pLunInformation .

Если поставщик поддерживает создание аппаратного теневого копирования для всех LUN в массиве pLunInformation , он должен вернуть значение TRUE в значении BOOL , на которое указывает параметр pbIsSupported . Если поставщик не поддерживает аппаратные теневые копии для одного или нескольких LUN, ему необходимо установить значениеFALSE.

Поставщик никогда не должен соглашаться на создание теневых копий, если это невозможно, даже если проблема является временной. Если временное условие, например низкий объем ресурсов, не позволяет поставщику создать теневое копирование с помощью одного или нескольких LUN при вызове AreLunsSupported, поставщик должен задать значение BOOL в значение FALSE.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vsprov.h

См. также раздел

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION

_VSS_VOLUME_SNAPSHOT_ATTRIBUTES