Как правило, для ситуаций маршалинга, использование IntPtr было бы предпочтительным подходом здесь.Это разрешено в безопасном коде и очень ясно показывает, что вы намерены маршалировать указатель туда-сюда.
Это то, сколько BCL представляет дескрипторы.Например, вы можете создать курсор из IntPtr , представляющего собственный дескриптор.