1*f6dc9357SAndroid Build Coastguard Worker // PluginLoader.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_PLUGIN_LOADER_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_PLUGIN_LOADER_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/DLL.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "IFolder.h" 9*f6dc9357SAndroid Build Coastguard Worker 10*f6dc9357SAndroid Build Coastguard Worker Z7_DIAGNOSTIC_IGNORE_CAST_FUNCTION 11*f6dc9357SAndroid Build Coastguard Worker 12*f6dc9357SAndroid Build Coastguard Worker class CPluginLibrary: public NWindows::NDLL::CLibrary 13*f6dc9357SAndroid Build Coastguard Worker { 14*f6dc9357SAndroid Build Coastguard Worker public: CreateManager(REFGUID clsID,IFolderManager ** manager)15*f6dc9357SAndroid Build Coastguard Worker HRESULT CreateManager(REFGUID clsID, IFolderManager **manager) 16*f6dc9357SAndroid Build Coastguard Worker { 17*f6dc9357SAndroid Build Coastguard Worker const 18*f6dc9357SAndroid Build Coastguard Worker Func_CreateObject createObject = Z7_GET_PROC_ADDRESS( 19*f6dc9357SAndroid Build Coastguard Worker Func_CreateObject, Get_HMODULE(), 20*f6dc9357SAndroid Build Coastguard Worker "CreateObject"); 21*f6dc9357SAndroid Build Coastguard Worker if (!createObject) 22*f6dc9357SAndroid Build Coastguard Worker return GetLastError_noZero_HRESULT(); 23*f6dc9357SAndroid Build Coastguard Worker return createObject(&clsID, &IID_IFolderManager, (void **)manager); 24*f6dc9357SAndroid Build Coastguard Worker } LoadAndCreateManager(CFSTR filePath,REFGUID clsID,IFolderManager ** manager)25*f6dc9357SAndroid Build Coastguard Worker HRESULT LoadAndCreateManager(CFSTR filePath, REFGUID clsID, IFolderManager **manager) 26*f6dc9357SAndroid Build Coastguard Worker { 27*f6dc9357SAndroid Build Coastguard Worker if (!Load(filePath)) 28*f6dc9357SAndroid Build Coastguard Worker return GetLastError_noZero_HRESULT(); 29*f6dc9357SAndroid Build Coastguard Worker return CreateManager(clsID, manager); 30*f6dc9357SAndroid Build Coastguard Worker } 31*f6dc9357SAndroid Build Coastguard Worker }; 32*f6dc9357SAndroid Build Coastguard Worker 33*f6dc9357SAndroid Build Coastguard Worker #endif 34