Пояснения к коду:
Примечание 1
Подсоединяемся к пространству имён 'root\CIMV2' нашего компьютера. Метод ConnectServer принимает следующие параметры:
objwbemServices = ConnectServer(
[ strServer = "" ],
[ strNameSpace = "" ],
[ strUser = "" ],
[ strPassword = "" ],
[ strLocale = "" ],
[ strAuthority = "" ],
[ iSecurityFlags = 0 ],
[ objwbemNamedValueSet = null ]
)
· | strServer - необязательный к указанию параметр, содержащий имя компьютера к пространству имён которого вы желаете подключиться. Если не указан, имеется в виду данный компьютер; |
· | strNameSpace - необязательный к указанию параметр, содержащий строку, указывающую к какому пространству имён вы собираетесь подключиться. Если не указан, то устанавливается в значение по умолчанию. |
· | StrUser - необязательный к указанию параметр, содержащий строку с именем пользователя, которое будет использовано при подключении. При применении на локальной машине должна содержать нулевую строку. Применяется только при подключении к удалённой машине. |
· | StrPassword - см. StrUser. |
· | StrLocale - необязательный к указанию параметр, содержащий код местности (localization code). Должен содержать нулевую строку для применения действующего кода местности. |
· | StrAuthority - необязательный к указанию параметр, предназначенный для работы в сетях с системой Kerberos. |
· | ISecurityFlags - необязательный к указанию параметр. Если содержит 0, то метод ConnectServer вернёт результат только после того, как соединение с сервером будет установлено, т.е. если соединение установить не удалось - ваша программа повиснет. Если содержит значение wbemConnectFlagUseMaxWait, то приложение ждёт две минуты после чего возвращает код ошибки. |
· | ObjwbemNamedValueSet - необязательный к указанию параметр. Обычно его не определяют (nil). Вообще говоря, можно указать объект типа SWbemNamedValueSet, который будет содержать информацию, которая может быть использована провайдером, обслуживающим данный запрос. |
Подробнее обо всех свойствах см. Platform SDK.
Примечание 2
Теперь получим описание интересующего нас класса, т.е. Win32_Processor.
Делается это с помощью метода Get полученного нами объекта Service.
Метод Get принимает следующие параметры:
objWbemObject = Get(
[ strObjectPath = "" ],
[ iFlags = 0 ],
[ objWbemNamedValueSet = null ]
)
· | strObjectPath - необязательный к указанию параметр, содержащий название класса, описание которого мы желаем получить. Если данный параметр будет содержать нулевую строку, то будет создан новый класс. |
· | IFlags - необязательный к указанию параметр. Принимает только одно значение: wbemFlagUseAmendedQualifiers. |
· | ObjWbemNamedValueSet - см. выше. |
Подробнее обо всех свойствах см. Platform SDK.
Примечание 3
Теперь надо получить коллекцию экземпляров класса Win32_Processor.
Делается это с помощью метода Instances_ объекта SObject.
Метод Instances_ принимает следующие параметры:
objWbemObjectSet = Instances_(
[ iFlags = wbemFlagReturnImmediately ],
[ objwbemNamedValueSet = null ]
)
· | iFlags - необязательный к указанию параметр, содержащий числовое значение типа Integer, определяющее поведение данного запроса. |
· | ObjwbemNamedValueSet - см. выше. |
Подробнее обо всех свойствах см. Platform SDK.
[ К коду ]
Исходный код и exe-файл данного примера вы сможете найти в прилагаемом к статье архиве в каталогах \source\GetProcessorData и \Exe-files соответственно.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!