zoukankan      html  css  js  c++  java
  • DirectX--Filter属性页的调用 分类: DirectX 2014-12-18 08:49 422人阅读 评论(0) 收藏

    IEnumFilters* pEnum;
    HRESULT hr ;
    if (pigb)
    {
    hr = pigb-> EnumFilters(&pEnum);
    if (FAILED(hr)) 
    {
    return ;
    }

         

    IBaseFilter* pFilter = NULL;
    while (pEnum->Next(1, &pFilter, NULL) == S_OK) 
    {
    // Check for required interface
    IUnknown* pUnk;//查找Filter接口,只有一个?
    HRESULT hrQuery = pFilter->QueryInterface(IID_IVideoWindow, (void**)&pUnk);
    if (SUCCEEDED(hrQuery)) 
    {
    pUnk->Release();
    pEnum->Release();
    break ;
    }
    // pFilter->Release();
    }
     //  pEnum->Release();
    //
    ISpecifyPropertyPages *pProp = NULL;//查询接口
    hr = pFilter->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pProp);
    if (SUCCEEDED(hr)) 
    {
    // Get the filter's name and IUnknown pointer.
    FILTER_INFO FilterInfo;
    hr = pFilter->QueryFilterInfo(&FilterInfo); 
    IUnknown *pFilterUnk;
    pFilter->QueryInterface(IID_IUnknown, (void **)&pFilterUnk);
    //
    CString str(FilterInfo.achName);//显示Filter名称
    MessageBox(str);

    // Show the page. 
    CAUUID caGUID;

    pProp->GetPages(&caGUID);
    pProp->Release();
    OleCreatePropertyFrame(
    this->GetSafeHwnd(),                   // Parent window
    0, 0,                                 // Reserved
    FilterInfo.achName,     //L"MAOMAO" // Caption for the dialog box 
    1,                      // Number of objects (just the filter)
    &pFilterUnk,            // Array of object pointers. 
    caGUID.cElems,          // Number of property pages
    caGUID.pElems,          // Array of property page CLSIDs
    0,                      // Locale identifier
    0, NULL                 // Reserved
    );

    // Clean up.
    pFilterUnk->Release();
    FilterInfo.pGraph->Release(); 
    CoTaskMemFree(caGUID.pElems);
    }
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    gray-code——找规律
    [LeetCode] Decode Ways 解码方法个数、动态规划
    操作系统之面试常考(转)
    国内90%以上的 iOS 开发者,对 APNs 的认识都是错的
    vim配置为IDE环境(超详细,极力推荐 git)
    curl的使用(from 阮一峰)
    图片鉴黄服务提供商
    转: 【理念篇】关于数据驱动运维的几点认识
    业务调度链的染色数据上报和关联
    ITIL的考核管理体系
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706473.html
Copyright © 2011-2022 走看看