Метод IVssHardwareSnapshotProviderEx::OnLunStateChange (vsprov.h)

Служба VSS вызывает этот метод для уведомления поставщиков оборудования об изменении состояния LUN.

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

Синтаксис

HRESULT OnLunStateChange(
  [in] VDS_LUN_INFORMATION *pSnapshotLuns,
  [in] VDS_LUN_INFORMATION *pOriginalLuns,
  [in] DWORD               dwCount,
  [in] DWORD               dwFlags
);

Параметры

[in] pSnapshotLuns

Указатель на массив структур dwCount VDS_LUN_INFORMATION, по одному для каждого LUN, который влияет на том теневого копирования.

[in] pOriginalLuns

Указатель на массив структур dwCountVDS_LUN_INFORMATION , по одной для каждого LUN, который влияет на исходный том.

[in] dwCount

Количество элементов в массиве pSnapshotLuns . Это также количество элементов в массиве pOriginalLuns .

[in] dwFlags

Битовая маска флагов _VSS_HARDWARE_OPTIONS , которые предоставляют сведения об изменении состояния, которое было изменено теневыми копиями LUN. В следующей таблице описано, как каждый флаг используется в этом параметре.

Значение Значение
VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE
0x00000100
Теневая копия LUN будет постоянно преобразована в режим чтения и записи.
VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY
0x00000200
Теневая копия LUN будет временно преобразована в режим чтения и записи и будет проходить восстановление TxF или автоматическое восстановление VSS.
VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY
0x00000400
Теневая копия LUN только что подверглась восстановлению TxF или автоматическому восстановлению VSS и была преобразована обратно в режим только для чтения.
VSS_ONLUNSTATECHANGE_DO_MASK_LUNS
0x00000800
Теневая копия LUN должна быть замаскирована с текущего компьютера, но не удалена.

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

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

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

Требования

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

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

IVssHardwareSnapshotProviderEx