private void Test()
        {
            int numCodecs = -1;

            m_pCodecInfo.GetCodecInfoCount(MediaType.Video, out numCodecs);
            Debug.Assert(numCodecs >= 0);

            if (numCodecs > 0)
            {
                int numFormats = -1;
                m_pCodecInfo.GetCodecFormatCount(MediaType.Video, 0, out numFormats);
                Debug.Assert(numFormats >= 0);

                if (numFormats > 0)
                {
                    // Start testing IWMCodecInfo2
                    int nameLen = -1;
                    m_pCodecInfo.GetCodecName(MediaType.Video, 0, null, ref nameLen);
                    Debug.Assert(nameLen >= 0);

                    StringBuilder sb = new StringBuilder(nameLen);
                    m_pCodecInfo.GetCodecName(MediaType.Video, 0, sb, ref nameLen);
                    Debug.Assert(sb.ToString().Length > 0);

                    int             descLen = -1;
                    IWMStreamConfig streamConfig;
                    m_pCodecInfo.GetCodecFormatDesc(MediaType.Video, 0, 0, out streamConfig, null, ref descLen);
                    Debug.Assert(descLen >= 0);

                    StringBuilder description = new StringBuilder(descLen);
                    m_pCodecInfo.GetCodecFormatDesc(MediaType.Video, 0, 0, out streamConfig, description, ref descLen);
                    Debug.Assert(description.ToString().Length >= 0);
                }
            }
        }