Квалификатор ключа

Квалификатор Key указывает, является ли свойство частью дескриптора пространства имен. Если квалификатор Key имеет несколько свойств, все эти свойства в совокупности образуют ключ (составной ключ). При их совместном использовании ключевые свойства должны предоставлять уникальную ссылку для каждого экземпляра класса. Если этот квалификатор помещается в свойство, допускается только значение TRUE .

Можно использовать любой тип свойства, кроме следующего:

  • Массивы
  • Реальные и числа с плавающей запятой
  • Внедренные объекты
  • Символы ниже, чем ASCII 32 (то есть пробелы).
  • Символьные строки типа char16 или символьные строки, определенные как ключи, должны содержать значения больше U+0020. Это связано с тем, что WMI использует значения ключей в путях объектов, а непечатаемые символы нельзя использовать в пути к объекту.

Если родительский класс задает ключ, все классы, производные от родительского класса, наследуют этот ключ. Производные классы не могут изменять унаследованный ключ или определять новое свойство ключа. Однако при наследоваве подкласс от абстрактного класса без ключа, можно ввести ключ в подкласс.

Все классы, определяющие несколько экземпляров, должны указывать ключ. Так как абстрактные классы не определяют какие-либо экземпляры, им не нужно указывать ключи. Поскольку одноэлементные классы определяют только один экземпляр, они не могут указывать ключи.

Ключи записываются один раз при создании экземпляра объекта и не должны изменяться позже. Нет смысла применять значение по умолчанию к свойству с указанием ключа.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008