PrafullaVedante Ответов: 1

Что такое эквивалент дескриптора, который будет использоваться в файлах IDL.


Привет,
Я хочу передать дескриптор функции. Какие типы данных следует использовать.

В C++,
Я могу использовать
uintptr_t
который будет работать как для win32, так и для x64.

Какой тип данных следует использовать в IDL?

Что я уже пробовал:

Попробовал использовать
unsigned int
тип данных в IDL. Это действительно работает для win32.

Но для x64 это не работает, так как размер дескриптора больше, чем unsigned int. Короче говоря, ручка не может просто вписаться в
unsigned int
Как решить этот вопрос?

1 Ответов

Рейтинг:
5

KarstenK

Используйте самый большой собственный тип данных, поэтому некоторые собственные 64-битные данные как

long long
должна соответствовать.

Дескриптор-это некоторый системный ресурс, управляемый операционной системой, поэтому будьте осторожны с tem. А ручка есть НЕТ (ДЕЙСТВИТЕЛЬНО НЕТ) указатель. Оно мочь Будьте, но никогда не предполагайте этого. Всегда используйте системные функции и НИКОГДА ferget очистка (закрыть или отпустить), когда закончите читать статья в Википедии чтобы лучше понять его. И не используйте ручки в разных процессах!!!