Here is the method signature I am trying to call.
EXTERN_C
HRESULT
QueryData(
    _Outptr_opt_result_bytebuffer_(*SizeOfData)  PBYTE * Data,
    _Out_opt_                                   UINT32* SizeOfData,
    _In_                                        BOOL    IsDataType
) 
The above method is not my code it's vendor code and unfortunately I don't have enough knowledge how to call this method. All I know is it's suppose to get me a blob of data.
Here is what I have done so far.
 [DllImport("DataGetter.dll")]
        internal static extern int QueryData(IntPtr data, UIntPtr sizeOfData, bool isDataType);
IntPtr data= new IntPtr();
            UIntPtr sizeOfData= new UIntPtr();
            bool isDataType= true;
            int hresult = QueryData(data, sizeOfData, isDataType);
My method doesn't fail but it doesn't return any thing in the data. Any idea how to call this weird method from C#?
 
    