Blender  V3.3
Classes | Macros | Typedefs | Functions | Variables
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 18 of file blendthumb_win32_dll.cc.

◆ SZ_CLSID_BLENDTHUMBHANDLER

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

Definition at line 17 of file blendthumb_win32_dll.cc.

Typedef Documentation

◆ PFNCREATEINSTANCE

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

Definition at line 22 of file blendthumb_win32_dll.cc.

Function Documentation

◆ CBlendThumb_CreateInstance()

HRESULT CBlendThumb_CreateInstance ( REFIID  riid,
void **  ppv 
)

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 165 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 53 of file blendthumb_win32_dll.cc.

References g_cRefModule.

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

◆ DllCanUnloadNow()

DWORD void* STDAPI DllCanUnloadNow ( )

Definition at line 47 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 205 of file blendthumb_win32_dll.cc.

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

◆ DllRelease()

void DllRelease ( )

Definition at line 58 of file blendthumb_win32_dll.cc.

References g_cRefModule.

Referenced by CClassFactory::LockServer().

◆ DllUnregisterServer()

STDAPI DllUnregisterServer ( )

Unregisters this COM server

Definition at line 262 of file blendthumb_win32_dll.cc.

References L, and SZ_CLSID_BLENDTHUMBHANDLER.

◆ STDAPI_()

STDAPI_ ( BOOL  )

Standard DLL functions.

Variable Documentation

◆ c_rgClassObjectInit

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

Definition at line 29 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 19 of file blendthumb_win32_dll.cc.

◆ dwReason

DWORD dwReason

Definition at line 38 of file blendthumb_win32_dll.cc.

◆ g_cRefModule

long g_cRefModule = 0

Definition at line 32 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 35 of file blendthumb_win32_dll.cc.

Referenced by DllRegisterServer().