函数原型typedef void (CALLBACK *fRealDataCallBack) (LONG nStreamID,LONG nID, int nCh, const unsigned char *pBuffer, DWORD dwBufSize,struct timeval presentationTime, void* RealDataCallBackContext);//视频流回调
AIIVS_API int __stdcall AIIVS_OpenStream(LONG nID , int nCh,fRealDataCallBack pRealDataCallBack = NULL,void *RealDataCallBackContext = NULL);//开启视频流,返回通道流ID
void WINAPI FunCallBackVideoStream(LONG nStreamID,LONG nID, int nCh, const unsigned char *pBuffer, DWORD dwBufSize,struct timeval presentationTime, void* RealDataCallBackContext)
{
VIDEO_SHOW_INFO *pViShow_INFO = (VIDEO_SHOW_INFO *)RealDataCallBackContext;
IVS_PLAY_InputData(pViShow_INFO->nDecodeID,(PBYTE)pBuffer,dwBufSize);
}
int nStreamID = AIIVS_OpenStream(nDeciveID,nChannel,FunCallBackVideoStream,&vinfo[nSelectVideoShow__]);C#改写public delegate void fRealDataCallBack(int nStreamID, int nID, int nCh, [MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer, uint dwBufSize, timeval presentationTime, IntPtr RealDataCallBackContext);
[DllImport(aiIvs)]
public static extern int AIIVS_OpenStream(int nID ,int nCh,fRealDataCallBack pRealDataCallBack,IntPtr RealDataCallBackContext);//开启视频流,返回通道流ID 
FrdcBack = new IvsAPI.fRealDataCallBack(frcBack);
private void frcBack(int nStreamID, int nID, int nCh, [MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer, uint dwBufSize, timeval presentationTime, IntPtr RealDataCallBackContext)
        {
            bool bol1 = PlayAPI.IVS_PLAY_InputData(nStreamID, pBuffer, dwBufSize);
        }
            int ii = IvsAPI.AIIVS_OpenStream(ll, i, FrdcBack, pictureBox1.Handle);