} return v; } ///////////////////////////////////////////////////////////////////////////////// // // Registration of the core PythonCOM module // static const PyCom_InterfaceSupportInfo g_interfaceSupportData[] = { #ifndef NO_PYCOM_ICATINFORMATION PYCOM_INTERFACE_CLSID_ONLY ( StdComponentCategoriesMgr ), #endif // NO_PYCOM_ICATINFORMATION PYCOM_INTERFACE_CLSID_ONLY ( StdGlobalInterfaceTable ), // Sort alphabetically just for us poor humans! PYCOM_INTERFACE_CLIENT_ONLY( BindCtx), #ifndef NO_PYCOM_ICATINFORMATION PYCOM_INTERFACE_CLIENT_ONLY( CatInformation), #endif // NO_PYCOM_ICATINFORMATION #ifndef NO_PYCOM_ICATREGISTER PYCOM_INTERFACE_CLIENT_ONLY( CatRegister), #endif // NO_PYCOM_ICATREGISTER PYCOM_INTERFACE_CLIENT_ONLY( ClassFactory), PYCOM_INTERFACE_FULL ( ConnectionPoint), PYCOM_INTERFACE_FULL ( ConnectionPointContainer), PYCOM_INTERFACE_CLIENT_ONLY( CreateTypeInfo), PYCOM_INTERFACE_CLIENT_ONLY( CreateTypeLib), PYCOM_INTERFACE_CLIENT_ONLY( CreateTypeLib2), PYCOM_INTERFACE_FULL ( DataObject ), PYCOM_INTERFACE_FULL ( DropSource), PYCOM_INTERFACE_FULL ( DropTarget),
PyErr_SetString(PyExc_NotImplementedError, "fix me"); return FALSE; } static struct PyMethodDef bits_methods[]= { NULL }; static const PyCom_InterfaceSupportInfo register_data[] = { PYCOM_INTERFACE_CLSID_ONLY ( BackgroundCopyManager ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyManager ), PYCOM_INTERFACE_SERVER_ONLY( BackgroundCopyCallback ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyError ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyJob ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyJob2 ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyJob3 ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyFile ), PYCOM_INTERFACE_CLIENT_ONLY( BackgroundCopyFile2 ), PYCOM_INTERFACE_CLIENT_ONLY( EnumBackgroundCopyJobs ), PYCOM_INTERFACE_CLIENT_ONLY( EnumBackgroundCopyFiles ) }; PYWIN_MODULE_INIT_FUNC(bits) { PYWIN_MODULE_INIT_PREPARE(bits, bits_methods,
PyIFilter_methods, GET_PYCOM_CTOR(PyIFilter)); static struct PyMethodDef ifilter_functions[] = { { "LoadIFilter", pyLoadIFilter, 1 }, // @pymeth Init|Description of Init { "BindIFilterFromStorage", pyBindIFilterFromStorage, 1 }, // @pymeth BindIFilterFromStorage| { "BindIFilterFromStream", pyBindIFilterFromStream, 1 }, // @pymeth BindIFilterFromStream| { NULL } }; static const PyCom_InterfaceSupportInfo g_interfaceSupportData[] = { PYCOM_INTERFACE_CLIENT_ONLY (Filter), }; /* Module initialisation */ PYWIN_MODULE_INIT_FUNC(ifilter) { PYWIN_MODULE_INIT_PREPARE(ifilter, ifilter_functions, "Wraps the interfaces used with Indexing Service filtering"); // Register all of our interfaces, gateways and IIDs. PyCom_RegisterExtensionSupport(dict, g_interfaceSupportData, sizeof(g_interfaceSupportData)/sizeof(PyCom_InterfaceSupportInfo)); // Tell pywintypes that IFilter error messages can be extracted from // query.dll HMODULE hmod = GetModuleHandle(_T("query.dll")); if (hmod)
{ "PSCreateMemoryPropertyStore", PyPSCreateMemoryPropertyStore, 1 }, // @pymeth PSCreateMemoryPropertyStore|Creates a temporary property store that is not connected to any backing storage { "PSCreatePropertyStoreFromPropertySetStorage", PyPSCreatePropertyStoreFromPropertySetStorage, 1 }, // @pymeth PSCreatePropertyStoreFromPropertySetStorage|Wraps a <o PyIPropertySetStorage> interface in a <o PyIPropertyStore> object { "PSLookupPropertyHandlerCLSID", PyPSLookupPropertyHandlerCLSID, 1 }, // @pymeth PSLookupPropertyHandlerCLSID|Returns the GUID of the property handler for a file { "SHGetPropertyStoreForWindow", PySHGetPropertyStoreForWindow, 1 }, // @pymeth SHGetPropertyStoreForWindow|Retrieves a collection of a window's properties { "PSGetPropertyFromPropertyStorage", PyPSGetPropertyFromPropertyStorage, 1 }, // @pymeth PSGetPropertyFromPropertyStorage|Extracts a property from a serialized buffer by key { "PSGetNamedPropertyFromPropertyStorage", PyPSGetNamedPropertyFromPropertyStorage, 1 }, // @pymeth PSGetNamedPropertyFromPropertyStorage|Extracts a property from a serialized buffer by name { NULL, NULL }, }; static const PyCom_InterfaceSupportInfo g_interfaceSupportData[] = { PYCOM_INTERFACE_FULL (InitializeWithFile), PYCOM_INTERFACE_FULL (InitializeWithStream), PYCOM_INTERFACE_FULL (NamedPropertyStore), PYCOM_INTERFACE_CLIENT_ONLY (PropertyDescription), PYCOM_INTERFACE_FULL (PropertyDescriptionList), PYCOM_INTERFACE_CLIENT_ONLY (PropertyDescriptionSearchInfo), PYCOM_INTERFACE_CLIENT_ONLY (PropertyDescriptionAliasInfo), PYCOM_INTERFACE_FULL (PropertyStore), PYCOM_INTERFACE_CLIENT_ONLY (PropertyStoreCache), PYCOM_INTERFACE_FULL (PropertyStoreCapabilities), PYCOM_INTERFACE_CLIENT_ONLY (PropertySystem), PYCOM_INTERFACE_CLIENT_ONLY (PropertyEnumType), PYCOM_INTERFACE_CLIENT_ONLY (PropertyEnumTypeList), PYCOM_INTERFACE_CLIENT_ONLY (PersistSerializedPropStorage), }; /* Module initialisation */ PYWIN_MODULE_INIT_FUNC(propsys) {
# include "PyITaskScheduler.h" // # include "PyIScheduledWorkItem.h" # include "PyITask.h" # include "PyITaskTrigger.h" # include "PyIProvideTaskPage.h" static struct PyMethodDef taskscheduler_methods[]= { NULL }; static const PyCom_InterfaceSupportInfo register_data[] = { PYCOM_INTERFACE_CLSID_ONLY ( CTaskScheduler ), PYCOM_INTERFACE_CLIENT_ONLY( TaskScheduler), PYCOM_INTERFACE_CLSID_ONLY ( CTask ), PYCOM_INTERFACE_CLIENT_ONLY( Task ), PYCOM_INTERFACE_CLIENT_ONLY( TaskTrigger ), PYCOM_INTERFACE_CLIENT_ONLY( ScheduledWorkItem ), PYCOM_INTERFACE_CLIENT_ONLY( ProvideTaskPage ) }; PYWIN_MODULE_INIT_FUNC(taskscheduler) { PYWIN_MODULE_INIT_PREPARE(taskscheduler, taskscheduler_methods, "Supports the Scheduled Tasks COM interfaces"); if (PyType_Ready(&PyTASK_TRIGGERType) == -1) PYWIN_MODULE_INIT_RETURN_ERROR;