Что такое BitmapData.reserved? - PullRequest
       20

Что такое BitmapData.reserved?

4 голосов
/ 21 июня 2011

BitmapData имеет свойство с именем Reserved, которое возвращает 32-битное signed integer.Документация Microsoft говорит, что не следует использовать это свойство.Если мы не должны использовать это;тогда почему он там?Для чего именно?

Ответы [ 3 ]

4 голосов
/ 21 июня 2011

Зарезервированные поля и свойства могут иметь различные применения. Одно довольно распространенное использование состоит в том, чтобы допустить возможность того, что более сложные типы BitmapData могут в будущем нуждаться в хранении некоторого типа информации, для которой существующая структура не предусматривает. Если никто не использовал поле Reserved для чего-либо, будущие реализации могут использовать это поле для хранения указателя или дескриптора другой структуры, содержащей дополнительную информацию.

3 голосов
/ 21 июня 2011

Интересно, это ошибка.На самом деле это IntPtr, вы можете узнать из собственного объявления, заголовочного файла GdiPlusImaging.h в SDK (каталог c: \ program files \ microsoft sdks \ windows \ v6.0a \ include для VS2008).Ошибка не байтовая, потому что GDI + создает ее экземпляр.

Что делает вероятным, что поле хранит указатель или дескриптор.Я бы догадался по дескриптору отображенного в памяти объекта файла.Дешевле хранить его в объекте состояния клиента из-за необходимости поддерживать словарь, чтобы найти его обратно в функции UnlockBits ().Не связывайтесь с этим.

1 голос
/ 21 июня 2011

В старых API-интерфейсах Microsoft их много, и они возникли в то время, когда было принято выделять место в наборах свойств для будущих усилий по разработке. Они служат той же цели, что и большая красная кнопка, которую никто не должен нажимать. Возможно, кому-то понадобится кнопка в будущем, и тогда, ну, у нас уже есть эта кнопка прямо здесь!

...