UACME/Source/Akagi/methods/explife.h

61 lines
1.8 KiB
C

/*******************************************************************************
*
* (C) COPYRIGHT AUTHORS, 2016 - 2017
*
* TITLE: EXPLIFE.H
*
* VERSION: 2.70
*
* DATE: 25 Mar 2017
*
* Prototypes and definitions for ExpLife method.
*
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
*
*******************************************************************************/
#pragma once
typedef interface IARPUninstallStringLauncher IARPUninstallStringLauncher;
typedef struct IARPUninstallStringLauncherVtbl {
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE *QueryInterface)(
__RPC__in IARPUninstallStringLauncher * This,
__RPC__in REFIID riid,
_COM_Outptr_ void **ppvObject);
ULONG(STDMETHODCALLTYPE *AddRef)(
__RPC__in IARPUninstallStringLauncher * This);
ULONG(STDMETHODCALLTYPE *Release)(
__RPC__in IARPUninstallStringLauncher * This);
HRESULT(STDMETHODCALLTYPE *LaunchUninstallStringAndWait)(
__RPC__in IARPUninstallStringLauncher * This,
_In_ HKEY hKey,
_In_ LPCOLESTR Item,
_In_ BOOL bModify,
_In_ HWND hWnd);
HRESULT(STDMETHODCALLTYPE *RemoveBrokenItemFromInstalledProgramsList)(
__RPC__in IARPUninstallStringLauncher * This,
_In_ HKEY hKey,
_In_ LPCOLESTR Item);
END_INTERFACE
} *PIARPUninstallStringLauncherVtbl;
interface IARPUninstallStringLauncher
{
CONST_VTBL struct IARPUninstallStringLauncherVtbl *lpVtbl;
};
BOOL ucmUninstallLauncherMethod(
_In_ LPWSTR lpszExecutable);