The
refgiid
foreign type is a useful converted type for iid arguments to foreign functions. When given a symbol, it looks up the GUID as if by calling
com-interface-refguid
. Otherwise the value should be a foreign pointer to a GUID structure, which is passed directly without conversion.
Given the definition of
print-iid
:
(fli:define-foreign-function print-iid
((iid refiid)))
then these two forms are equivalent:
(print-iid 'i-unknown)
(print-iid (com-interface-refguid 'i-unknown))