开发者社区> 问答> 正文

请问 C#调用的dll里面有自定义的结构体指针吗?

用ffmpeg 解码yuv数据,封装成一个dll,然后c#进行调用,但是回调函数里面的参数有一个
CvHandle类型的指针,

typedef struct CvtHandle
{
    AVFormatContext    *pFormatCtx;
    int                i, videoindex;
    AVCodecContext    *pCodecCtx;
    AVCodec            *pCodec;
    AVFrame    *pFrame, *pFrameYUV;
    uint8_t *out_buffer;
    AVPacket *packet;
    int y_size;
    int ret, got_picture;
    SwsContext *img_convert_ctx;
    /*int screen_w = 0, screen_h = 0;
    SDL_Window *screen;
    SDL_Renderer* sdlRenderer;
    SDL_Texture* sdlTexture;
    SDL_Rect sdlRect;
    FILE *fp_yuv;*/
}CvtHandle;

C回调函数

extern "C" __declspec(dllexport)  int __stdcall OpenStream(char* filepath);
extern "C" __declspec(dllexport)  int __stdcall play(CvtHandle* cvthandle, int width, int height, int leftx, int lefty);
extern "C" __declspec(dllexport)  int __stdcall CloseStream(CvtHandle* cvthandle);

我应该怎么解决这个问题?

展开
收起
杨冬芳 2016-05-27 19:20:22 2248 0
1 条回答
写回答
取消 提交回答
  • IT从业

    我记得好像有一个 叫 StructLayout 的东西,

    2019-07-17 19:18:40
    赞同 展开评论 打赏
问答分类:
C#
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载