C # ULONG_PTR Эквивалент - PullRequest
       22

C # ULONG_PTR Эквивалент

6 голосов
/ 21 декабря 2009

Я должен передать ULONG_PTR в небезопасном коде в C #.

Я понимаю, что причина для ULONG_PTR состоит в том, чтобы предусмотреть одну кодовую базу для 32-битных и 64-битных операционных систем.

Это случай для C # UIntPtr? Могу ли я быть уверен при передаче .Net UIntPtr в качестве параметра ULONG_PTR?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 21 декабря 2009

С MSDN :

Тип IntPtr является CLS-совместимым, в то время как тип UIntPtr - нет. Только тип IntPtr используется в общем язык выполнения. Тип UIntPtr в основном для поддержания архитектурная симметрия с IntPtr тип

Оба типа способны хранить 32-битные и 64-битные указатели. Предпочтительный тип IntPtr.

2 голосов
/ 21 декабря 2009

Исходя из описания MSDN, я бы сказал, что оно должно быть:

Тип UIntPtr разработан как целое число, размер которого зависит от платформы. То есть ожидается, что экземпляр этого типа будет 32-разрядным в 32-разрядных аппаратных и операционных системах и 64-разрядным в 64-разрядных аппаратных и операционных системах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...