handlerloader.h
来自「由7-zip提供的压缩、解压缩程序」· C头文件 代码 · 共 39 行
H
39 行
// HandlerLoader.h#ifndef __HANDLERLOADER_H#define __HANDLERLOADER_H#include "../../ICoder.h"#include "Windows/DLL.h"typedef UInt32 (WINAPI * CreateObjectFunc)( const GUID *clsID, const GUID *interfaceID, void **outObject);class CHandlerLoader: public NWindows::NDLL::CLibrary{public: HRESULT CreateHandler(LPCWSTR filepath, REFGUID clsID, void **archive, bool outHandler) { if (!Load(filepath)) return GetLastError(); CreateObjectFunc createObject = (CreateObjectFunc) GetProcAddress("CreateObject"); if (createObject == NULL) { HRESULT res = ::GetLastError(); Free(); return res; } HRESULT res = createObject(&clsID, outHandler ? &IID_IOutArchive : &IID_IInArchive, (void **)archive); if (res != 0) Free(); return res; }};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?