diff --git a/defendnot/bootstrap/bootstrap.cpp b/defendnot/bootstrap/bootstrap.cpp index d869caa..e91d4bd 100644 --- a/defendnot/bootstrap/bootstrap.cpp +++ b/defendnot/bootstrap/bootstrap.cpp @@ -35,6 +35,11 @@ namespace defendnot { /// Register and activate our AV logln("register: {:#x}", com_checked(inst->Register(name, name, 0, 0))); - logln("update: {:#x}", com_checked(inst->UpdateStatus(WSCSecurityProductState::ON, 3))); + logln("update: {:#x}", com_checked(inst->UpdateStatus(WSCSecurityProductState::ON, WSCSecurityProductState::ON))); + logln("scan_update: {:#x}", com_checked(inst->UpdateScanSubstatus(WSCSecurityProductSubStatus::NO_ACTION))); + logln("settings_update: {:#x}", com_checked(inst->UpdateSettingsSubstatus(WSCSecurityProductSubStatus::NO_ACTION))); + + /// \fixme @es3n1n: this seems to be giving no effect whatsoever. + logln("prot_update: {:#x}", com_checked(inst->UpdateProtectionUpdateSubstatus(WSCSecurityProductSubStatus::NO_ACTION))); } } // namespace defendnot diff --git a/defendnot/core/com.hpp b/defendnot/core/com.hpp index b6c84ef..0788bc1 100644 --- a/defendnot/core/com.hpp +++ b/defendnot/core/com.hpp @@ -26,7 +26,7 @@ namespace defendnot { NOT_SET = 0, NO_ACTION = 1, ACTION_RECOMMENDED = 2, - ACTION_NEEDED = 3 + ACTION_NEEDED = 3, }; inline HRESULT com_checked(HRESULT result, const std::source_location loc = std::source_location::current()) { @@ -68,7 +68,7 @@ namespace defendnot { virtual std::uint32_t Release() = 0; virtual HRESULT Register(BSTR path_to_signed_product_exe, BSTR display_name, std::uint32_t, std::uint32_t) = 0; virtual HRESULT Unregister() = 0; - virtual HRESULT UpdateStatus(WSCSecurityProductState state, std::uint32_t) = 0; + virtual HRESULT UpdateStatus(WSCSecurityProductState state, WSCSecurityProductState state2) = 0; virtual HRESULT InitiateOfflineCleaning(std::uint16_t*, std::uint16_t*) = 0; virtual HRESULT NotifyUserForNearExpiration(std::uint32_t) = 0; virtual HRESULT MakeDefaultProductRequest() = 0; @@ -78,7 +78,7 @@ namespace defendnot { virtual HRESULT UpdateProtectionUpdateSubstatus(WSCSecurityProductSubStatus status) = 0; virtual HRESULT RegisterAV(std::uint16_t*, std::uint16_t*, std::uint32_t, std::uint32_t) = 0; virtual HRESULT UnregisterAV() = 0; - virtual HRESULT UpdateStatusAV(WSCSecurityProductState state, std::uint32_t) = 0; + virtual HRESULT UpdateStatusAV(WSCSecurityProductState state, WSCSecurityProductState state2) = 0; virtual HRESULT InitiateOfflineCleaningAV(std::uint16_t*, std::uint16_t*) = 0; virtual HRESULT NotifyUserForNearExpirationAV(std::uint32_t) = 0; virtual HRESULT RegisterFW(std::uint16_t*, std::uint16_t*, std::uint32_t, std::uint32_t) = 0; @@ -86,7 +86,7 @@ namespace defendnot { virtual HRESULT UpdateStatusFW(WSCSecurityProductState state) = 0; virtual HRESULT RegisterAS(std::uint16_t*, std::uint16_t*, std::uint32_t, std::uint32_t) = 0; virtual HRESULT UnregisterAS() = 0; - virtual HRESULT UpdateStatusAS(WSCSecurityProductState state, std::uint32_t) = 0; + virtual HRESULT UpdateStatusAS(WSCSecurityProductState state, WSCSecurityProductState state2) = 0; private: virtual void dtor() = 0;