The utility and code does straightforward enumeration of MMDevices (Vista+, check MSDN for MMDevice API availability), which correspond to MMDevice API, WASAPI, Core Audio API. The code itself is straightforward, with a ready to use binary to quickly lookup data of interest: The data is detailed well and in Excel-friendly format (via Copy/Paste): The code [...]
Posts Tagged ‘API’
Utility Clearance: Enumerate Audio ‘MMDevice’s
Posted: 30th August 2011 by Roman in ATL, Audio, Source, Utilities, WTLTags: API, Audio, Core Audio, device, IMMDevice, MMDevice, tool, utility, WASAPI
Utility Clearance: Logical Processor Information
Posted: 24th April 2011 by Roman in UtilitiesTags: API, ATL, C++, cpu, GetLogicalProcessorInformation, msdn, processor, Source, WTL
LogicalProcessorInformation is a fronend GUI around GetLogicalProcessorInformation API and reveals CPU configuration of the system. If you are fine tuning stuff, you might want to know what sort of CPUs are powering the applications: how many? fully featured cores or HyperThreading technology? mutli-processor configuration and how exactly physical processors are distributed over affinity mask API [...]
DirectShow Filter Graph Spy: 64-bit version and hook API
Posted: 1st November 2009 by Roman in ATL, TechnologyTags: 64-bit, API, DirectShow, filter, graph, hook, spy, x64
Today’s update for DirectShow Filter Graph Spy introduces 64-bit version (mind the beta state) and a mini-API for an external module to be involved into graph building process. Filter Graph Spy is offering three new interfaces that provide extensibility of the spy: IFilterGraphAddRemoveHook IFilterGraphConnectHook IFilterGraphStateControlHook The interfaces are contained in the type library and can [...]
Combo Box selection, WM_SETREDRAW and CB_SETCURSEL
Posted: 30th July 2009 by Roman in WTLTags: API, CB_SETCURSEL, combo box, control, GUI, windows, WM_SETREDRAW
Given the combo box initialization code: m_ComboBox.SetRedraw(FALSE); m_ComboBox.ResetContent(); for(INT nIndex = 0; nIndex < 3; nIndex++) m_ComboBox.AddString(AtlFormatString(_T(“Item %d”), nIndex + 1)); m_ComboBox.SetCurSel(1); m_ComboBox.SetRedraw(TRUE) How the combo box is going to look like?
RegSetKeySecurity, CRegKey::SetKeySecurity and CSecurityDesc
Posted: 22nd June 2009 by Roman in ATL, SourceTags: API, ATL, CRegKey, CSecurityDesc, registry, RegSetKeySecurity, security, SetKeySecurity, windows
One thing is worth special mentioning in connection with previous post on DirectShow Filter Graph Spy on Microsoft Vista system: ATL’s CSecurityDesc class caused to waste some time. CRegKey Key; ATLENSURE_SUCCEEDED(HRESULT_FROM_WIN32(Key.Open(HKEY_CLASSES_ROOT, pszKeyName, READ_CONTROL | WRITE_OWNER))); CSecurityDesc AdministratorsOwnerSecurityDescriptor; AdministratorsOwnerSecurityDescriptor.SetOwner(Sids::Admins()); ATLENSURE_SUCCEEDED(HRESULT_FROM_WIN32(Key.SetKeySecurity(OWNER_SECURITY_INFORMATION, &AdministratorsOwnerSecurityDescriptor))); The code compiles fine, but on runtime it gives error 87 (ERROR_INVALID_PARAMETER, E_INVALIDARG) in the [...]
Time Zone Information & Monitor Information
Posted: 22nd November 2008 by Roman in ATL, Source, Utilities, WTLTags: API, ATL, C++, Source, Utilities, windows, WTL
I am sharing a couple of utilities to be able to quick check system settings. TimeZoneInformation prints in a human friendly style TIME_ZONE_INFORMATION structure as reported by Windows through GetTimeZoneInformation API. TIME_ZONE_INFORMATION: .Bias: -120 .StandardName: FLE Standard Time .StandardDate: { .wYear 0, .wMonth 10, .wDay 5, .wDayOfWeek 0, .wHour 4, .wMinute 0, .wSecond 0, .wMilliseconds [...]
Just recently there was a problem discovered in considered to be stable DirectShow component (the problem itself is not fatal – access violation while being used in improbable scenario – and thus it may appear it is even ignored), another “pleasant” thing came up with an API from another vendor. The camera vendor is recognized [...]
