Sergey,
Doesn't the parameter to the Prt_info_1 structure have to be a pointer to that structure so that the function can tell you how big the buffer needs to be to populate the structure with the forms that are defined for the printer? If you just pass it 0 I don't see how it could ever work. In my code, I already had the structure defined using the Struct Class.
A problem is a problem only as long as it has a possible solution. Lacking that, it becomes a FACT!