Основное отличие методов SetPropertyValues и SetPropertyValuesEx для обновления свойств элемента заключается в том, что SetPropertyValues обнуляет пропущенные свойства, а SetPropertyValuesEx не трогает их. 1
SetPropertyValues требует, чтобы массив PROPERTY_VALUES содержал полный набор значений свойств для элемента. 2 Если в нём будет отсутствовать одно из свойств, то все его значения для данного элемента будут удалены. 2
SetPropertyValuesEx позволяет обновлять произвольное количество свойств элемента. 3 В отличие от SetPropertyValues, он может не содержать полный набор значений, а просто дописывать новое значение к уже имеющимся. 2
Таким образом, выбор между этими методами зависит от того, какие свойства элемента нужно обновить и как с ними работать.