Cтраница 2
Абстрактный класс ValueType переопределяет виртуальные методы своего базового класса Object, приспосабливая их для типов-значений. Например, в базовом классе Object метод Equals сравнивает только ссылки на объекты, а в классе ValueType этот метод сравнивает их значения. Метод GetHashCode в классе ValueType, в отличие от класса Object, учитывает значения одного или нескольких полей объекта. Но если поля содержат изменяемые данные, то метод не гарантирует выработку удовлетворительного хеш-кода. [16]
Каждый драйвер должен поставлять набор процедур, которые могут быть вызваны для получения требуемого обслуживания. Первая процедура, называемая DriverEntry, инициализирует драйвер. Она вызывается сразу после загрузки драйвера. Процедура может создавать таблицы и структуры данных, но не должна обращаться к самому устройству. Она также заполняет некоторые поля объекта драйвера, созданного менеджером ввода-вывода при загрузке драйвера. Поля в объекте драйвера включают указатели на все остальные процедуры, предоставляемые драйвером. [17]
![]() |
Представление хранилища в виде разреженной матрицы. Oi-Одг. [18] |
Хорошим кандидатом на роль универсального является набор интерфейсов для работы с ресурсом как с хранилищем объектов. Основная функция хранилища объектов соответствует его названию - это хранение объектов. Каждое поле объекта-в-хранилище содержит одно значение или массив значений одного из предопределенных типов. Хранилище поддерживает массив описаний всех полей объектов, где для каждого поля указан тип содержащегося в поле значения, название поля, уникальный идентификатор поля ( GUID) и комментарий. [19]