typedef struct tagRILDevSpecificParams { DWORD dwFunctionID; BYTE *lpInputParameters; BYTE *lpOutputParameters; } RIL_DEVSPECIFIC_PARAMS, *lpRIL_DEVSPECIFIC_PARAMS; And I've tried to convert this to: [StructLayout(LayoutKind.Sequential)] public struct RIL_DEVSPECIFIC_PARAMS { [MarshalAs(UnmanagedType.I4)] public Int32 dwFunctionID; [MarshalAs(UnmanagedType.ByValArray)] public byte[] lpInputParameters; [MarshalAs(UnmanagedType.ByValArray)] public byte[] lpOutputParameters; }