//获取窗口句柄 
        [DllImport("user32.dll")] 
       public static extern IntPtr FindWindow(string lpClassName, 
            string lpWindowName);  
  
       //获取窗口中控件的句柄 
        [DllImport("user32.dll")] 
       public static extern IntPtr FindWindowEx(IntPtr hwndParent, 
            IntPtr hwndChildAfter, string lpszClass, string lpazWindow); [DllImport("HCNetSDK.dll")]
    public static extern int NET_DVR_RealPlay_V30(int lUserID, NET_DVR_CLIENTINFO struPlayInfo, string a, string b, bool bPreviewBlock);
    //软解码预览参数
    public struct NET_DVR_CLIENTINFO
    {
        public int lChannel;
        public long lLinkMode;
        public IntPtr hPlayWnd;
        public string sMultiCastIP;    }; NET_DVR_CLIENTINFO struPlayInfo = new NET_DVR_CLIENTINFO();        IntPtr mwh = FindWindow(null, "Form");
        IntPtr m_hWnd = FindWindowEx(mwh, IntPtr.Zero, null, "Panel2");        
        
        struPlayInfo.hPlayWnd = (IntPtr)m_hWnd; //设置播放句柄为有效句柄
        struPlayInfo.lChannel = 1;  //预览通道号
        struPlayInfo.lLinkMode = 0;//最高位(31)为0表示主码流,为1表示子码流0~30位表示连接方式:0-TCP方式;1-UDP方式;2-多播方式;3-RTP方式;
        bool bPreviewBlock = false; //请求码流过程是否阻塞,0:否,1:是
        //软解码实现过程
        m_lPlayHandle = NET_DVR_RealPlay_V30(lUserID, struPlayInfo, null, null, bPreviewBlock);然后就是 m_hwnd =0. 导致NET_DVR_RealPlay_V30  提示尝试读取或写入受保护的内存。这通常指示其他内存已损坏。谁能帮我看看是怎么回事啊 ? 我刚开始接触这块,不怎么懂。