I have this that I found, Does it help? Some. I still don't see where to set the value.
InternetSecurityZoneManager example;
Creating + getting + setting ZoneActionPolicy
HRESULT hRes = ::CoCreateInstance( CLSID_InternetZoneManager, NULL, CLSCTX_SERVER, IID_IInternetZoneManager,
reinterpret_cast< void ** >( &m_pZone ) );
_ASSERTE( SUCCEEDED( hRes ) );
m_pZone->GetZoneActionPolicy( URLZONE_INTERNET, DOWNLOAD_UNSIGNED_ACTIVEX, reinterpret_cast< BYTE * >( &m_dwOldPolicy ),sizeof( DWORD ), URLZONEREG_HKCU );
DWORD dwPolicy = URLPOLICY_QUERY;
m_pZone->SetZoneActionPolicy( URLZONE_INTERNET,
DOWNLOAD_UNSIGNED_ACTIVEX,
reinterpret_cast< BYTE * >( &dwPolicy ),
sizeof( DWORD ), URLZONEREG_HKCU );
Maybe someone can make sense of this !!!