try this:
DLL_Function = Win32API.new('TestLib', 'WriteLine', 'P', 'V')
DLL_Function.call('hello!')
The input can be one or a combination of the following:
L, I and P
where L (or l) is a long, I, (or i) is an int, and P (or p) is a pointer to a string. (P can also be used for a lot of other stuff, if you know what you're doing. For example, I've used it to pass structures to user32.dll)
If multiple input values are necessary, simply add more of these letters to the input string, one for each argument.
The output is the same as above, except you can use V (or v) to denote void output, where nothing is returned, or where return values are ignored. Just note that there can only be one output value.
By the way, to pass booleans, use integers. A 0 is false, and anything else is true.