Эквиваленты типов данных size_t, void* и hbitmap в MIDL

Какие типы данных MIDL следует использовать для объявления параметров метода интерфейса типов данных C++, таких как size_t, void*, HBITMAP и другие типы ручек winapi (HANDLE, HFONT, так далее.)?

1 ответ

Решение

size_t определяется реализацией, но с использованием CRT в Visual Studio это 32-разрядное целое число без знака при компиляции для 32-разрядных архитектур и 64-разрядное целое число без знака при компиляции для 64-разрядных архитектур. Вы хотите использовать unsigned __int3264, что составляет 32 бита в 32-битной архитектуре и 64 бита в 64-битной архитектуре.

void* еще один платформо-зависимый тип. MIDL обеспечивает void* типа, но это всего лишь 32-битный указатель, независимо от целевого размера адреса, я считаю. Вы можете использовать unsigned __int3264 тип, а не.

MIDL предоставляет типы с такими же именами, что и различные типы дескрипторов, хотя я не уверен, включены ли все типы дескрипторов; я знаю HBITMAP есть, по крайней мере.

Другие вопросы по тегам