Возможно я неправильно объяснил свою мысль в первом посте. Суть в том что пользователю библы мы отдаем только хендл объекта. А при передаче этого хендла обратно в библу нужно проверить - годен ли хендл. Для этого в каждой структуре есть определенная метка имеющая уникальное значение.
Вкратце: любая порождающая функция библы передает хендл. Остальные - принимают его с проверкой.
А вообще есть
статья на эту тему