34#include <CoreFoundation/CoreFoundation.h>
35#include <CoreFoundation/CFPlugInCOM.h>
36#include <CoreServices/CoreServices.h>
43#define PLUGIN_ID "A3FCC88D-B9A6-4364-8B93-92123C8A2D18"
101 theNewInstance->
factoryID = CFRetain(inFactoryID);
102 CFPlugInAddInstanceForFactory(inFactoryID);
106 return theNewInstance;
117 CFUUIDRef theFactoryID;
122 CFPlugInRemoveInstanceForFactory(theFactoryID);
123 CFRelease(theFactoryID);
132 CFUUIDRef interfaceID;
134 interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault,iid);
136 if (CFEqual(interfaceID,kMDImporterInterfaceID)){
143 CFRelease(interfaceID);
146 if (CFEqual(interfaceID,IUnknownUUID)){
150 CFRelease(interfaceID);
155 CFRelease(interfaceID);
156 return E_NOINTERFACE;
192MetadataImporterPluginFactory(CFAllocatorRef allocator, CFUUIDRef
typeID)
202 uuid = CFUUIDCreateFromString(kCFAllocatorDefault,CFSTR(
PLUGIN_ID));
__attribute__((visibility("default"))) void *MetadataImporterPluginFactory(CFAllocatorRef allocator
static void DeallocMetadataImporterPluginType(MetadataImporterPluginType *thisInstance)
static MetadataImporterPluginType * AllocMetadataImporterPluginType(CFUUIDRef inFactoryID)
static MDImporterInterfaceStruct testInterfaceFtbl
static ULONG MetadataImporterPluginRelease(void *thisInstance)
static HRESULT MetadataImporterQueryInterface(void *thisInstance, REFIID iid, LPVOID *ppv)
MetadataImporterPluginType * result
static ULONG MetadataImporterPluginAddRef(void *thisInstance)