Does declaring a `CoTaskMemFree` that takes `Pointer` work by itself? It's likely that JNA will marshal that appropriately. 

Otherwise I would declare another version of `CoTaskMemFree` which takes a Pointer, wrapping the LPVOID one.