Blender V5.0
blendthumb_win32_dll.cc File Reference
#include <new>
#include <objbase.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <thumbcache.h>

Go to the source code of this file.

Classes

struct  CLASS_OBJECT_INIT
class  CClassFactory
struct  REGISTRY_ENTRY

Macros

#define SZ_CLSID_BLENDTHUMBHANDLER   L"{D45F043D-F17F-4e8a-8435-70971D9FA46D}"
#define SZ_BLENDTHUMBHANDLER   L"Blender Thumbnail Handler"

Typedefs

typedef HRESULT(* PFNCREATEINSTANCE) (REFIID riid, void **ppvObject)

Functions

HRESULT CBlendThumb_CreateInstance (REFIID riid, void **ppv)
 STDAPI_ (BOOL) DllMain(HINSTANCE hInstance
DWORD void *STDAPI DllCanUnloadNow ()
void DllAddRef ()
void DllRelease ()
STDAPI DllGetClassObject (REFCLSID clsid, REFIID riid, void **ppv)
HRESULT CreateRegKeyAndSetValue (const REGISTRY_ENTRY *pRegistryEntry)
STDAPI DllRegisterServer ()
STDAPI DllUnregisterServer ()

Variables

const CLSID CLSID_BlendThumbHandler
const CLASS_OBJECT_INIT c_rgClassObjectInit []
long g_cRefModule = 0
HINSTANCE g_hInst = nullptr
DWORD dwReason

Detailed Description

Thumbnail from Blend file extraction for MS-Windows (DLL).

Definition in file blendthumb_win32_dll.cc.

Macro Definition Documentation

◆ SZ_BLENDTHUMBHANDLER

#define SZ_BLENDTHUMBHANDLER   L"Blender Thumbnail Handler"

Definition at line 20 of file blendthumb_win32_dll.cc.

Referenced by DllRegisterServer().

◆ SZ_CLSID_BLENDTHUMBHANDLER

#define SZ_CLSID_BLENDTHUMBHANDLER   L"{D45F043D-F17F-4e8a-8435-70971D9FA46D}"

Definition at line 19 of file blendthumb_win32_dll.cc.

Referenced by DllRegisterServer(), and DllUnregisterServer().

Typedef Documentation

◆ PFNCREATEINSTANCE

typedef HRESULT(* PFNCREATEINSTANCE) (REFIID riid, void **ppvObject)

Definition at line 24 of file blendthumb_win32_dll.cc.

Function Documentation

◆ CBlendThumb_CreateInstance()

HRESULT CBlendThumb_CreateInstance ( REFIID riid,
void ** ppv )
extern

Definition at line 75 of file blendthumb_win32.cc.

References CBlendThumb::QueryInterface().

◆ CreateRegKeyAndSetValue()

HRESULT CreateRegKeyAndSetValue ( const REGISTRY_ENTRY * pRegistryEntry)

Creates a registry key (if needed) and sets the default value of the key.

Definition at line 167 of file blendthumb_win32_dll.cc.

References data, REGISTRY_ENTRY::dwData, REGISTRY_ENTRY::dwValueType, REGISTRY_ENTRY::hkeyRoot, REGISTRY_ENTRY::pszData, REGISTRY_ENTRY::pszKeyName, REGISTRY_ENTRY::pszValueName, and size().

Referenced by DllRegisterServer().

◆ DllAddRef()

void DllAddRef ( )

Definition at line 55 of file blendthumb_win32_dll.cc.

References g_cRefModule.

Referenced by CClassFactory::CClassFactory(), and CClassFactory::LockServer().

◆ DllCanUnloadNow()

DWORD void *STDAPI DllCanUnloadNow ( )

Definition at line 49 of file blendthumb_win32_dll.cc.

References g_cRefModule.

◆ DllGetClassObject()

STDAPI DllGetClassObject ( REFCLSID clsid,
REFIID riid,
void ** ppv )

◆ DllRegisterServer()

STDAPI DllRegisterServer ( )

Registers this COM server.

Definition at line 207 of file blendthumb_win32_dll.cc.

References CreateRegKeyAndSetValue(), g_hInst, i, L, SZ_BLENDTHUMBHANDLER, and SZ_CLSID_BLENDTHUMBHANDLER.

◆ DllRelease()

void DllRelease ( )

Definition at line 60 of file blendthumb_win32_dll.cc.

References g_cRefModule.

Referenced by CClassFactory::LockServer().

◆ DllUnregisterServer()

STDAPI DllUnregisterServer ( )

Unregisters this COM server

Definition at line 264 of file blendthumb_win32_dll.cc.

References i, L, and SZ_CLSID_BLENDTHUMBHANDLER.

◆ STDAPI_()

STDAPI_ ( BOOL )

Standard DLL functions.

Variable Documentation

◆ c_rgClassObjectInit

const CLASS_OBJECT_INIT c_rgClassObjectInit[]
Initial value:
= {
HRESULT CBlendThumb_CreateInstance(REFIID riid, void **ppv)
const CLSID CLSID_BlendThumbHandler

Definition at line 31 of file blendthumb_win32_dll.cc.

Referenced by DllGetClassObject().

◆ CLSID_BlendThumbHandler

const CLSID CLSID_BlendThumbHandler
Initial value:
= {
0xd45f043d, 0xf17f, 0x4e8a, {0x84, 0x35, 0x70, 0x97, 0x1d, 0x9f, 0xa4, 0x6d}}

Definition at line 21 of file blendthumb_win32_dll.cc.

◆ dwReason

DWORD dwReason

Definition at line 40 of file blendthumb_win32_dll.cc.

◆ g_cRefModule

long g_cRefModule = 0

Definition at line 34 of file blendthumb_win32_dll.cc.

Referenced by DllAddRef(), DllCanUnloadNow(), and DllRelease().

◆ g_hInst

HINSTANCE g_hInst = nullptr

Handle the DLL's module

Definition at line 37 of file blendthumb_win32_dll.cc.

Referenced by DllRegisterServer().