zoukankan      html  css  js  c++  java
  • Delphi DirectShow枚举设备代码片断

    var
      CreateDevEnum:ICreateDevEnum;
      EnumMoniker:IEnumMoniker;
      Moniker:IMoniker;
      PropertyBag:IPropertyBag;
      varName:OleVariant;
      hr:HRESULT;
    const
      IID_IPropertyBag: TGUID = '{55272A00-42CB-11CE-8135-00AA004BB851}';
    begin
      hr:=CoCreateInstance(CLSID_SystemDeviceEnum,nil,CLSCTX_INPROC_SERVER,IID_ICreateDevEnum,CreateDevEnum);
      Assert(hr=NOERROR);
      hr:=CreateDevEnum.CreateClassEnumerator(AM_KSCATEGORY_CAPTURE,EnumMoniker,0);
      Assert(hr=NOERROR);
      EnumMoniker.Reset;
      while EnumMoniker.Next(1,Moniker,nil)=S_OK do
      begin
        hr:=Moniker.BindToStorage(nil,nil,IID_IPropertyBag,PropertyBag);
        if Failed(hr) then Continue;
        VariantInit(varName);
        hr:=PropertyBag.Read('FriendlyName',varName,nil);
        if Succeeded(hr) then
        begin
          ShowMessage(varName);
          VariantClear(varName); 
        end;
      end;
    end;
  • 相关阅读:
    sed&awk 资料汇总 全是链接
    LeetCode Path 3Sum
    C++ mem_fun
    递归绑定
    查询当天数据
    清除script注入
    防注入查询
    我的最新分页
    群发邮件
    利用缓存
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1300585.html
Copyright © 2011-2022 走看看