CString ts;
HRESULT hr;
ICreateDevEnum *pSysDevEnum = NULL;
IEnumMoniker *pEnum = NULL;
IMoniker *pMoniker = NULL;
hr = CoInitialize(NULL);
if (FAILED(hr))
    {
        printf("ERROR - Could not initialize COM library");
        return FALSE;
    }

hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, 
        CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, 
        (void**)&pSysDevEnum);
if (FAILED(hr))
    {
        printf("ERROR - Could not CoCreateInstance");
        return FALSE;
    } hr = pSysDevEnum->CreateClassEnumerator(CLSID_VideoCompressorCategory, &pEnum, 0);MD,上述这段代码的最后一行,如果DEBUG,就会弹出一个"user breakpoint called from ...."的对话框。而如果这一行改为hr = pSysDevEnum->CreateClassEnumerator(CLSID_AudioCompressorCategory, &pEnum, 0);就不会出现那样的对话框,请问这是什么原因?