Re: managed Guid из native GUID
От: Аноним  
Дата: 28.10.06 10:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Привет. Провожу первые эксперименты с managed С++. Сразу возник вопрос: каким образом можно превратить (следует превращать) нативный GUID в managed Guid? Думаю, что можно через конверсию GUID-а в строку, но это как-то...

А>Спасибо

Смотри в MSDN "Interop Marshaling", в частности аттрибут MarshalAs.
GUID не передавал, и, честно говоря, лень пробовать. Но — GUID это структура. Определяешь её в managed коде(4 поля кажется, uint. Каждое поле определяешь с собственным аттрибутом MarshalAs.), обязательно задаешь последовательное расположение аттрибутом StructLayout[Sequential]. Передаешь её в параметре с аттрибутом MarshalAs[Struct](хотя может тебе надо передавать как указатель на структуру — тогда посмотри соответствие параметра для unmanaged в managed, однозначно void* — IntPtr ).Можешь указать аттрибут Out/In для направления передачи.
Вроде всё.
Но может для GUID можно всё проще сделать, есть value-тип Guid в Framework — посмотри, может его можно приспособить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.