[matroska] r1109 - in trunk/MatroskaUtils: . GDC GDC/GDCMatroska GDC/common ShellExtension tinyxml
[email protected] Fri, 25 Mar 2005 20:30:00 +0300 (MSK)
Newsgroups
gmane.comp.multimedia.matroska.cvs
Message-ID
<[email protected] >
Author: jcsston
Date: 2005-03-25 20:27:44 +0300 (Fri, 25 Mar 2005)
New Revision: 1109
Added:
trunk/MatroskaUtils/GDC/
trunk/MatroskaUtils/GDC/GDCMatroska/
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.aps
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.cpp
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.def
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.idl
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rc
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rgs
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.tlb
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.vcproj
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_h.h
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_i.c
trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_p.c
trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.cpp
trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.h
trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.rgs
trunk/MatroskaUtils/GDC/GDCMatroska/ReadMe.txt
trunk/MatroskaUtils/GDC/GDCMatroska/dlldata.c
trunk/MatroskaUtils/GDC/GDCMatroska/registration.ico
trunk/MatroskaUtils/GDC/GDCMatroska/resource.h
trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.cpp
trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.h
trunk/MatroskaUtils/GDC/GoogleDesktopComponent.sln
trunk/MatroskaUtils/GDC/common/
trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentCommon.vcproj
trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.cpp
trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.def
trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.h
trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.h
trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.idl
trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_i.c
trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_p.c
trunk/MatroskaUtils/GDC/common/dlldata.c
trunk/MatroskaUtils/GDC/common/stdafx.cpp
trunk/MatroskaUtils/GDC/common/stdafx.h
trunk/MatroskaUtils/Jorys_Southern_I_gotta_go_get_me_some_of_there_Matroska_files.mp3
trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.cpp
trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.h
trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.cpp
trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.h
trunk/MatroskaUtils/resource.cpp
Removed:
trunk/MatroskaUtils/ShellExtension/MatroskaProp.dsp
trunk/MatroskaUtils/ShellExtension/MatroskaProp.dsw
trunk/MatroskaUtils/tinyxml/TinyXml.dsp
trunk/MatroskaUtils/tinyxml/TinyXml.dsw
Modified:
trunk/MatroskaUtils/tinyxml/
Log:
New Google Desktop Search Plugin
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.aps
===================================================================
(Binary files differ)
Property changes on: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.aps
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.cpp
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,76 @@
+// GDCMatroska.cpp : Implementation of DLL Exports.
+
+#include "stdafx.h"
+#include <atlstr.h>
+
+#include <initguid.h>
+#include "GDCMatroska_i.c"
+
+class CGDCMatroskaModule : public CAtlDllModuleT< CGDCMatroskaModule >
+{
+public :
+ DECLARE_LIBID(LIBID_GDCMatroskaLib)
+ DECLARE_REGISTRY_APPID_RESOURCEID(IDR_SAMPLE, "{2F0D88B3-5ADC-44B3-BED0-FAF9823C839D}")
+};
+
+CGDCMatroskaModule _AtlModule;
+
+
+// DLL Entry Point
+extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
+{
+ hInstance;
+ return _AtlModule.DllMain(dwReason, lpReserved);
+}
+
+
+// Used to determine whether the DLL can be unloaded by OLE
+STDAPI DllCanUnloadNow(void)
+{
+ return _AtlModule.DllCanUnloadNow();
+}
+
+
+// Returns a class factory to create an object of the requested type
+STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+{
+ return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
+}
+
+
+// DllRegisterServer - Adds entries to the system registry
+STDAPI DllRegisterServer(void)
+{
+ // registers object, typelib and all interfaces in typelib
+ HRESULT hr = _AtlModule.DllRegisterServer();
+
+ if (SUCCEEDED(hr))
+ {
+ // Create our icon path
+ CStringW module_name;
+ CStringW icon_name;
+ ::GetModuleFileNameW(_AtlBaseModule.GetModuleInstance(), CStrBufW(module_name, 1024), 1023);
+ icon_name.Format(L"%ls,%d", module_name, IDI_REGISTRATIONICON);
+
+ // register our module
+ const wchar_t *suffixes[] = { L"mkv", L"mka" };
+ hr = RegisterComponentHelper(CLSID_IndexMatroska,
+ L"Matroska Crawler",
+ L"Indexes Matroska Audio/Video files",
+ icon_name, 2, suffixes);
+ }
+
+ return hr;
+}
+
+
+// DllUnregisterServer - Removes entries from the system registry
+STDAPI DllUnregisterServer(void)
+{
+ HRESULT hr = UnregisterComponentHelper(CLSID_IndexMatroska);
+ // ignore error...
+
+ hr = _AtlModule.DllUnregisterServer();
+
+ return hr;
+}
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.def
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.def 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.def 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,9 @@
+; GDCMatroska.def : Declares the module parameters.
+
+LIBRARY "GDCMatroska.DLL"
+
+EXPORTS
+ DllCanUnloadNow PRIVATE
+ DllGetClassObject PRIVATE
+ DllRegisterServer PRIVATE
+ DllUnregisterServer PRIVATE
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.idl
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.idl 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.idl 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,39 @@
+// GDCMatroska.idl : IDL source for GDCMatroska
+//
+
+// This file will be processed by the MIDL tool to
+// produce the type library (GDCMatroska.tlb) and marshalling code.
+
+import "oaidl.idl";
+import "ocidl.idl";
+
+[
+ object,
+ uuid(3219E2BC-E7AB-456d-AA17-600E3BDC418D),
+ dual,
+ nonextensible,
+ helpstring("IIndexMatroska Interface"),
+ pointer_default(unique)
+]
+interface IIndexMatroska : IDispatch{
+ [id(1), helpstring("method HandleFile")]
+ HRESULT HandleFile(BSTR full_path_to_file, IDispatch *event_factory);
+};
+
+[
+ uuid(5D10BF95-A849-47dd-9978-65A5F8F940E1),
+ version(1.0),
+ helpstring("GDCMatroska 1.0 Type Library")
+]
+library GDCMatroskaLib
+{
+ importlib("stdole2.tlb");
+ [
+ uuid(364F941C-6DB0-437d-BBB9-22FCBA88DE30),
+ helpstring("IndexMatroska Class")
+ ]
+ coclass IndexMatroska
+ {
+ [default] interface IIndexMatroska;
+ };
+};
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rc
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rc 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rc 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,129 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "1 TYPELIB ""GDCMatroska.tlb""\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904e4"
+ BEGIN
+ VALUE "FileDescription", "Matroska Audio/Video File crawler component"
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "LegalCopyright", "(c) 2005 Jory Stone"
+ VALUE "InternalName", "GDCMatroska.dll"
+ VALUE "OriginalFilename", "GDCMatroska.dll"
+ VALUE "ProductName", "Google Desktop Search API"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1252
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// REGISTRY
+//
+
+IDR_SAMPLE REGISTRY "GDCMatroska.rgs"
+IDR_INDEXMATROSKA REGISTRY "IndexMatroska.rgs"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_REGISTRATIONICON ICON "registration.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+ IDS_PROJNAME "GDCMatroska"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+1 TYPELIB "GDCMatroska.tlb"
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rgs
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rgs 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.rgs 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,11 @@
+HKCR
+{
+ NoRemove AppID
+ {
+ '%APPID%' = s 'GDCMatroska'
+ 'GDCMatroska.DLL'
+ {
+ val AppID = s '%APPID%'
+ }
+ }
+}
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.tlb
===================================================================
(Binary files differ)
Property changes on: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.tlb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.vcproj
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.vcproj 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska.vcproj 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="GDCMatroska"
+ ProjectGUID="{D850DCDA-78AD-42C1-BF71-B5995900BCA9}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ UseOfATL="0"
+ CharacterSet="1">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".\;..\;..\..\;..\..\..\libebml;..\..\..\libebml\src\platform\win32;..\..\..\libmatroska"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GDCMATROSKA_EXPORTS"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Unicows.lib"
+ OutputFile="$(OutDir)/GDCMatroska.dll"
+ LinkIncremental="2"
+ ModuleDefinitionFile="GDCMatroska.def"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/GDCMatroska.pdb"
+ SubSystem="2"
+ ImportLibrary="$(OutDir)/GDCMatroska.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ CharacterSet="1"
+ ManagedExtensions="FALSE">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=".\;..\;..\..\;..\..\..\libebml;..\..\..\libebml\src\platform\win32;..\..\..\libmatroska"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GDCMATROSKA_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Unicows.lib"
+ OutputFile="$(OutDir)/GDCMatroska.dll"
+ LinkIncremental="1"
+ ModuleDefinitionFile="GDCMatroska.def"
+ DelayLoadDLLs=""
+ GenerateDebugInformation="TRUE"
+ GenerateMapFile="TRUE"
+ MapFileName="$(OutDir)/$(ProjectName).map"
+ MapExports="TRUE"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(OutDir)/GDCMatroska.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\GDCMatroska.cpp">
+ </File>
+ <File
+ RelativePath=".\GDCMatroska.idl">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName="./$(ProjectName).tlb"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName="./$(ProjectName).tlb"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\IndexMatroska.cpp">
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\IndexMatroska.h">
+ </File>
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ <File
+ RelativePath=".\GDCMatroska.def">
+ </File>
+ <File
+ RelativePath=".\GDCMatroska.rc">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_h.h
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_h.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_h.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,246 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 23:40:26 2005
+ */
+/* Compiler settings for .\GDCMatroska.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __GDCMatroska_h_h__
+#define __GDCMatroska_h_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IIndexMatroska_FWD_DEFINED__
+#define __IIndexMatroska_FWD_DEFINED__
+typedef interface IIndexMatroska IIndexMatroska;
+#endif /* __IIndexMatroska_FWD_DEFINED__ */
+
+
+#ifndef __IndexMatroska_FWD_DEFINED__
+#define __IndexMatroska_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class IndexMatroska IndexMatroska;
+#else
+typedef struct IndexMatroska IndexMatroska;
+#endif /* __cplusplus */
+
+#endif /* __IndexMatroska_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * );
+
+#ifndef __IIndexMatroska_INTERFACE_DEFINED__
+#define __IIndexMatroska_INTERFACE_DEFINED__
+
+/* interface IIndexMatroska */
+/* [unique][helpstring][nonextensible][dual][uuid][object] */
+
+
+EXTERN_C const IID IID_IIndexMatroska;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3219E2BC-E7AB-456d-AA17-600E3BDC418D")
+ IIndexMatroska : public IDispatch
+ {
+ public:
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HandleFile(
+ BSTR full_path_to_file,
+ IDispatch *event_factory) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IIndexMatroskaVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IIndexMatroska * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IIndexMatroska * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IIndexMatroska * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IIndexMatroska * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IIndexMatroska * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IIndexMatroska * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IIndexMatroska * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HandleFile )(
+ IIndexMatroska * This,
+ BSTR full_path_to_file,
+ IDispatch *event_factory);
+
+ END_INTERFACE
+ } IIndexMatroskaVtbl;
+
+ interface IIndexMatroska
+ {
+ CONST_VTBL struct IIndexMatroskaVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IIndexMatroska_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IIndexMatroska_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IIndexMatroska_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IIndexMatroska_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IIndexMatroska_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IIndexMatroska_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IIndexMatroska_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IIndexMatroska_HandleFile(This,full_path_to_file,event_factory) \
+ (This)->lpVtbl -> HandleFile(This,full_path_to_file,event_factory)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIndexMatroska_HandleFile_Proxy(
+ IIndexMatroska * This,
+ BSTR full_path_to_file,
+ IDispatch *event_factory);
+
+
+void __RPC_STUB IIndexMatroska_HandleFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IIndexMatroska_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __GDCMatroskaLib_LIBRARY_DEFINED__
+#define __GDCMatroskaLib_LIBRARY_DEFINED__
+
+/* library GDCMatroskaLib */
+/* [helpstring][version][uuid] */
+
+
+EXTERN_C const IID LIBID_GDCMatroskaLib;
+
+EXTERN_C const CLSID CLSID_IndexMatroska;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("364F941C-6DB0-437d-BBB9-22FCBA88DE30")
+IndexMatroska;
+#endif
+#endif /* __GDCMatroskaLib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_i.c
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_i.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_i.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,90 @@
+
+
+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 23:40:26 2005
+ */
+/* Compiler settings for .\GDCMatroska.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#if !defined(_M_IA64) && !defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifdef _MIDL_USE_GUIDDEF_
+
+#ifndef INITGUID
+#define INITGUID
+#include <guiddef.h>
+#undef INITGUID
+#else
+#include <guiddef.h>
+#endif
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
+
+#else // !_MIDL_USE_GUIDDEF_
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+ unsigned long x;
+ unsigned short s1;
+ unsigned short s2;
+ unsigned char c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
+
+#endif !_MIDL_USE_GUIDDEF_
+
+MIDL_DEFINE_GUID(IID, IID_IIndexMatroska,0x3219E2BC,0xE7AB,0x456d,0xAA,0x17,0x60,0x0E,0x3B,0xDC,0x41,0x8D);
+
+
+MIDL_DEFINE_GUID(IID, LIBID_GDCMatroskaLib,0x5D10BF95,0xA849,0x47dd,0x99,0x78,0x65,0xA5,0xF8,0xF9,0x40,0xE1);
+
+
+MIDL_DEFINE_GUID(CLSID, CLSID_IndexMatroska,0x364F941C,0x6DB0,0x437d,0xBB,0xB9,0x22,0xFC,0xBA,0x88,0xDE,0x30);
+
+#undef MIDL_DEFINE_GUID
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
+
Added: trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_p.c
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_p.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/GDCMatroska_p.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,362 @@
+
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 23:40:26 2005
+ */
+/* Compiler settings for .\GDCMatroska.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#if !defined(_M_IA64) && !defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+#if _MSC_VER >= 1200
+#pragma warning(push)
+#endif
+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
+#pragma warning( disable: 4211 ) /* redefine extent to static */
+#pragma warning( disable: 4232 ) /* dllimport identity*/
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 475
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif // __RPCPROXY_H_VERSION__
+
+
+#include "GDCMatroska_h.h"
+
+#define TYPE_FORMAT_STRING_SIZE 57
+#define PROC_FORMAT_STRING_SIZE 43
+#define TRANSMIT_AS_TABLE_SIZE 0
+#define WIRE_MARSHAL_TABLE_SIZE 1
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
+ } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
+ } MIDL_PROC_FORMAT_STRING;
+
+
+static RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IIndexMatroska_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IIndexMatroska_ProxyInfo;
+
+
+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
+
+#if !defined(__RPC_WIN32__)
+#error Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT50_OR_LATER)
+#error You need a Windows 2000 or later to run this stub because it uses these features:
+#error /robust command line switch.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+ {
+ 0,
+ {
+
+ /* Procedure HandleFile */
+
+ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2 */ NdrFcLong( 0x0 ), /* 0 */
+/* 6 */ NdrFcShort( 0x7 ), /* 7 */
+/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 10 */ NdrFcShort( 0x0 ), /* 0 */
+/* 12 */ NdrFcShort( 0x8 ), /* 8 */
+/* 14 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 16 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 18 */ NdrFcShort( 0x0 ), /* 0 */
+/* 20 */ NdrFcShort( 0x1 ), /* 1 */
+/* 22 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter full_path_to_file */
+
+/* 24 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 28 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Parameter event_factory */
+
+/* 30 */ NdrFcShort( 0xb ), /* Flags: must size, must free, in, */
+/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 34 */ NdrFcShort( 0x26 ), /* Type Offset=38 */
+
+ /* Return value */
+
+/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 40 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ 0x0
+ }
+ };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+ {
+ 0,
+ {
+ NdrFcShort( 0x0 ), /* 0 */
+/* 2 */
+ 0x12, 0x0, /* FC_UP */
+/* 4 */ NdrFcShort( 0xe ), /* Offset= 14 (18) */
+/* 6 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 8 */ NdrFcShort( 0x2 ), /* 2 */
+/* 10 */ 0x9, /* Corr desc: FC_ULONG */
+ 0x0, /* */
+/* 12 */ NdrFcShort( 0xfffc ), /* -4 */
+/* 14 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 16 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 18 */
+ 0x17, /* FC_CSTRUCT */
+ 0x3, /* 3 */
+/* 20 */ NdrFcShort( 0x8 ), /* 8 */
+/* 22 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (6) */
+/* 24 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 26 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 28 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 30 */ NdrFcShort( 0x0 ), /* 0 */
+/* 32 */ NdrFcShort( 0x4 ), /* 4 */
+/* 34 */ NdrFcShort( 0x0 ), /* 0 */
+/* 36 */ NdrFcShort( 0xffde ), /* Offset= -34 (2) */
+/* 38 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 40 */ NdrFcLong( 0x20400 ), /* 132096 */
+/* 44 */ NdrFcShort( 0x0 ), /* 0 */
+/* 46 */ NdrFcShort( 0x0 ), /* 0 */
+/* 48 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 50 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 52 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 54 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+
+ 0x0
+ }
+ };
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
+ {
+
+ {
+ BSTR_UserSize
+ ,BSTR_UserMarshal
+ ,BSTR_UserUnmarshal
+ ,BSTR_UserFree
+ }
+
+ };
+
+
+
+/* Object interface: IUnknown, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+ GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IIndexMatroska, ver. 0.0,
+ GUID={0x3219E2BC,0xE7AB,0x456d,{0xAA,0x17,0x60,0x0E,0x3B,0xDC,0x41,0x8D}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IIndexMatroska_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 0
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IIndexMatroska_ProxyInfo =
+ {
+ &Object_StubDesc,
+ __MIDL_ProcFormatString.Format,
+ &IIndexMatroska_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IIndexMatroska_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDL_ProcFormatString.Format,
+ &IIndexMatroska_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(8) _IIndexMatroskaProxyVtbl =
+{
+ &IIndexMatroska_ProxyInfo,
+ &IID_IIndexMatroska,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfo */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ (void *) (INT_PTR) -1 /* IIndexMatroska::HandleFile */
+};
+
+
+static const PRPC_STUB_FUNCTION IIndexMatroska_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IIndexMatroskaStubVtbl =
+{
+ &IID_IIndexMatroska,
+ &IIndexMatroska_ServerInfo,
+ 8,
+ &IIndexMatroska_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+static const MIDL_STUB_DESC Object_StubDesc =
+ {
+ 0,
+ NdrOleAllocate,
+ NdrOleFree,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ __MIDL_TypeFormatString.Format,
+ 1, /* -error bounds_check flag */
+ 0x50002, /* Ndr library version */
+ 0,
+ 0x6000169, /* MIDL Version 6.0.361 */
+ 0,
+ UserMarshalRoutines,
+ 0, /* notify & notify_flag routine table */
+ 0x1, /* MIDL flag */
+ 0, /* cs routines */
+ 0, /* proxy/server info */
+ 0 /* Reserved5 */
+ };
+
+const CInterfaceProxyVtbl * _GDCMatroska_ProxyVtblList[] =
+{
+ ( CInterfaceProxyVtbl *) &_IIndexMatroskaProxyVtbl,
+ 0
+};
+
+const CInterfaceStubVtbl * _GDCMatroska_StubVtblList[] =
+{
+ ( CInterfaceStubVtbl *) &_IIndexMatroskaStubVtbl,
+ 0
+};
+
+PCInterfaceName const _GDCMatroska_InterfaceNamesList[] =
+{
+ "IIndexMatroska",
+ 0
+};
+
+const IID * _GDCMatroska_BaseIIDList[] =
+{
+ &IID_IDispatch,
+ 0
+};
+
+
+#define _GDCMatroska_CHECK_IID(n) IID_GENERIC_CHECK_IID( _GDCMatroska, pIID, n)
+
+int __stdcall _GDCMatroska_IID_Lookup( const IID * pIID, int * pIndex )
+{
+
+ if(!_GDCMatroska_CHECK_IID(0))
+ {
+ *pIndex = 0;
+ return 1;
+ }
+
+ return 0;
+}
+
+const ExtendedProxyFileInfo GDCMatroska_ProxyFileInfo =
+{
+ (PCInterfaceProxyVtblList *) & _GDCMatroska_ProxyVtblList,
+ (PCInterfaceStubVtblList *) & _GDCMatroska_StubVtblList,
+ (const PCInterfaceName * ) & _GDCMatroska_InterfaceNamesList,
+ (const IID ** ) & _GDCMatroska_BaseIIDList,
+ & _GDCMatroska_IID_Lookup,
+ 1,
+ 2,
+ 0, /* table of [async_uuid] interfaces */
+ 0, /* Filler1 */
+ 0, /* Filler2 */
+ 0 /* Filler3 */
+};
+#if _MSC_VER >= 1200
+#pragma warning(pop)
+#endif
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
+
Added: trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.cpp
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,219 @@
+
+//
+// Sample crawler capture component. This component registers for .lnk files
+//
+
+#include "stdafx.h"
+#include <atlstr.h>
+#include <atlsafe.h>
+#include <shobjidl.h>
+#include <shlguid.h>
+#include "IndexMatroska.h"
+#include "../common/GoogleDesktopSearchAPI.h"
+
+#include "GDCMatroska_i.c"
+
+// CIndexMatroska
+
+CIndexMatroska::CIndexMatroska()
+{
+ m_hMatroskaPropDLL = NULL;
+}
+
+CString CIndexMatroska::GetRegistryValue(HKEY hBaseKey, TCHAR *reg_key, TCHAR *value_key, TCHAR *default_value)
+{
+ CString ret_value = default_value;
+ HKEY key_handle = NULL;
+ DWORD lpType = NULL;
+ DWORD state = 0;
+ TCHAR key_text[MAX_PATH+2];
+ DWORD size = MAX_PATH;
+
+ RegCreateKeyEx(hBaseKey, reg_key, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key_handle, &state);
+ if(state == REG_OPENED_EXISTING_KEY) {
+ RegQueryValueEx(key_handle, value_key, 0, &lpType, (BYTE*)key_text, &size);
+ ret_value = key_text;
+ }
+ RegCloseKey(key_handle);
+ return ret_value;
+}
+
+HRESULT CIndexMatroska::LoadMatroskaPropLibrary()
+{
+ m_hMatroskaPropDLL = LoadLibrary(_T("MatroskaProp"));
+ if (m_hMatroskaPropDLL == NULL) {
+ CString filename = GetRegistryValue(HKEY_CLASSES_ROOT, _T("CLSID\\") _T("{780BCB64-0CAF-473c-A9FC-E08C03D75515}") _T("\\InProcServer32\\"), _T(""), _T(""));
+ if (filename.GetLength() > 0) {
+ m_hMatroskaPropDLL = LoadLibrary(filename);
+ }
+ }
+ if (m_hMatroskaPropDLL == NULL)
+ return E_FAIL;
+
+ fnCreateParserObject = (CreateParserObject_def)GetProcAddress(m_hMatroskaPropDLL, "CreateParserObject");
+ if (fnCreateParserObject == NULL)
+ return E_FAIL;
+
+ fnDeleteParserObject = (DeleteParserObject_def)GetProcAddress(m_hMatroskaPropDLL, "DeleteParserObject");
+ if (fnDeleteParserObject == NULL)
+ return E_FAIL;
+
+ /*
+ fnFillParserObject = (FillParserObject_def)GetProcAddress(m_hMatroskaPropDLL, "FillParserObject");
+ fnGetTrackCount = (GetTrackCount_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackCount");
+ fnGetTrackUID = (GetTrackUID_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackUID");
+ fnGetTrackType = (GetTrackType_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackType");
+ fnGetTrackTypeLen = (GetTrackTypeLen_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackTypeLen");
+ fnGetTrackTypeStr = (GetTrackTypeStr_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackTypeStr");
+ fnGetTrackCodecIDLen = (GetTrackCodecIDLen_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackCodecIDLen");
+ fnGetTrackCodecIDStr = (GetTrackCodecIDStr_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackCodecIDStr");
+ fnGetTrackLength = (GetTrackLength_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackLength");
+ fnGetTrackVideoInfo = (GetTrackVideoInfo_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackVideoInfo");
+ fnGetTrackAudioInfo = (GetTrackAudioInfo_def)GetProcAddress(m_hMatroskaPropDLL, "GetTrackAudioInfo");
+ */
+ return S_OK;
+}
+
+STDMETHODIMP CIndexMatroska::InterfaceSupportsErrorInfo(REFIID riid)
+{
+ static const IID* arr[] =
+ {
+ &IID_IIndexMatroska
+ };
+
+ for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
+ {
+ if (InlineIsEqualGUID(*arr[i],riid))
+ return S_OK;
+ }
+ return S_FALSE;
+}
+
+STDMETHODIMP CIndexMatroska::HandleFile(BSTR full_path_to_file, IDispatch *event_factory)
+{
+ USES_CONVERSION;
+ CComPtr<IGoogleDesktopSearchEventFactory> spEventFactory;
+ CComPtr<IDispatch> spEventDisp;
+ HRESULT hr;
+
+ hr = event_factory->QueryInterface(&spEventFactory);
+ if (FAILED(hr))
+ return Error(L"No event factory", IID_IIndexMatroska, hr);
+
+ hr = spEventFactory->CreateEvent(CComBSTR(CLSID_IndexMatroska), CComBSTR(L"Google.Desktop.MediaFile"), &spEventDisp);
+ if (FAILED(hr))
+ return Error(L"Unable to create event", IID_IIndexMatroska, hr);
+
+ CComQIPtr<IGoogleDesktopSearchEvent> spEvent(spEventDisp);
+
+ ATLASSERT(spEventDisp && spEvent);
+ if (spEvent == NULL)
+ return Error(L"Event does not implement IGoogleDesktopSearchEvent", IID_IIndexMatroska, E_UNEXPECTED);
+
+ CStringW strOriginal = full_path_to_file;
+ if (PathFileExists(strOriginal)) {
+ WIN32_FIND_DATA wfd;
+ if (!GetFileAttributesEx(strOriginal, GetFileExInfoStandard, &wfd))
+ return HRESULT_FROM_WIN32(::GetLastError());
+
+ SYSTEMTIME systemTime;
+ FileTimeToSystemTime(&wfd.ftCreationTime, &systemTime);
+
+ // convert the date to the variant format
+ double varDate;
+ SystemTimeToVariantTime(&systemTime, &varDate);
+
+ hr = spEvent->AddProperty(CComBSTR(L"uri"), CComVariant(full_path_to_file));
+ if (SUCCEEDED(hr))
+ hr = spEvent->AddProperty(CComBSTR(L"last_modified_time"), CComVariant(varDate, VT_DATE));
+
+ CStringW content;
+
+ MatroskaUtilsNamespace::MatroskaInfoParser *pParser = new MatroskaUtilsNamespace::MatroskaInfoParser(strOriginal);
+ //hr = fnCreateParserObject((void **)&pParser, W2A(strOriginal));
+ pParser->ParseFile();
+ MatroskaUtilsNamespace::MatroskaTrackInfo *pVideoTrack = pParser->GetFirstVideoTrack();
+ MatroskaUtilsNamespace::MatroskaTrackInfo *pAudioTrack = pParser->GetFirstAudioTrack();
+ MatroskaUtilsNamespace::MatroskaTrackInfo *pSubtitleTrack = pParser->GetFirstSubtitleTrack();
+
+ content.Format(L"Muxing App: %s", A2W(pParser->GetMuxingApp()));
+
+ hr = spEvent->AddProperty(CComBSTR(L"content"), CComVariant(content));
+
+ double duration = pParser->GetSegmentInfo()->GetDuration();
+ duration = duration * 1000.0 * 1000.0;
+ hr = spEvent->AddProperty(CComBSTR(L"length"), CComVariant(((int)duration)));
+
+ if (pVideoTrack != NULL) {
+ hr = spEvent->AddProperty(CComBSTR(L"format"), CComVariant("video/x-matroska"));
+ } else if (pAudioTrack != NULL) {
+ hr = spEvent->AddProperty(CComBSTR(L"format"), CComVariant("audio/x-matroska"));
+ } else if (pSubtitleTrack != NULL) {
+ hr = spEvent->AddProperty(CComBSTR(L"format"), CComVariant("text/x-matroska"));
+ } else {
+ hr = spEvent->AddProperty(CComBSTR(L"format"), CComVariant("application/x-matroska"));
+ }
+
+ if (pVideoTrack != NULL && pVideoTrack->GetVideoInfo() != NULL) {
+ MatroskaUtilsNamespace::MatroskaVideoTrackInfo *info = pVideoTrack->GetVideoInfo();
+ hr = spEvent->AddProperty(CComBSTR(L"width"), CComVariant(info->video_Width));
+ hr = spEvent->AddProperty(CComBSTR(L"height"), CComVariant(info->video_Height));
+ }
+
+ if (pAudioTrack != NULL && pAudioTrack->GetAudioInfo() != NULL) {
+ MatroskaUtilsNamespace::MatroskaAudioTrackInfo *info = pAudioTrack->GetAudioInfo();
+ hr = spEvent->AddProperty(CComBSTR(L"channels"), CComVariant(info->audio_Channels));
+ }
+
+ UTFstring s;
+ std::string s2;
+ int t;
+
+ s = pParser->GetTagComment();
+ if (s.length() > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"comments"), CComVariant(s.c_str()));
+ }
+
+ s = pParser->GetTagAlbum();
+ if (s.length() > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"album_title"), CComVariant(s.c_str()));
+ }
+
+ s = pParser->GetTagArtist();
+ if (s.length() > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"artist"), CComVariant(s.c_str()));
+ }
+
+ t = pParser->GetTagDiscTrack();
+ if (t > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"track_number"), CComVariant(t));
+ }
+
+ t = pParser->GetTagYear();
+ if (t > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"year"), CComVariant(t));
+ }
+
+ t = pParser->GetTagYear();
+ if (t > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"year_published"), CComVariant(t));
+ }
+
+ s2 = pParser->GetTagGenre();
+ if (s2.length() > 0) {
+ hr = spEvent->AddProperty(CComBSTR(L"genre"), CComVariant(s2.c_str()));
+ }
+
+ //hr = fnDeleteParserObject((void **)&pParser);
+ delete pParser;
+
+ if (FAILED(hr))
+ return Error(L"AddProperty failed", IID_IIndexMatroska, hr);
+
+ hr = spEvent->Send(EventFlagIndexable);
+ if (FAILED(hr))
+ return Error(L"Send failed", IID_IIndexMatroska, hr);
+ }
+
+ return hr;
+}
Added: trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.h
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,78 @@
+// IndexShortcut.h : Declaration of the CIndexShortcut
+
+#pragma once
+#include "resource.h" // main symbols
+
+#include "GDCMatroska_h.h"
+#include "MatroskaUtils.h"
+
+typedef LONG (WINAPI *CreateParserObject_def)(void **, char *);
+typedef LONG (WINAPI *FillParserObject_def)(void **, bool parseTags, bool parseWholeFile);
+typedef LONG (WINAPI *DeleteParserObject_def)(void **);
+typedef LONG (WINAPI *GetTrackCount_def)(void **);
+typedef LONG (WINAPI *GetTrackUID_def)(void **, int);
+typedef LONG (WINAPI *GetTrackType_def)(void **, int);
+typedef LONG (WINAPI *GetTrackTypeLen_def)(void **, int);
+typedef LONG (WINAPI *GetTrackTypeStr_def)(void **, int, char *);
+typedef LONG (WINAPI *GetTrackCodecIDLen_def)(void **, int);
+typedef LONG (WINAPI *GetTrackCodecIDStr_def)(void **, int, char *);
+typedef LONG (WINAPI *GetTrackLength_def)(void **, int);
+typedef LONG (WINAPI *GetTrackVideoInfo_def)(void **, int, void *);
+typedef LONG (WINAPI *GetTrackAudioInfo_def)(void **, int, void *);
+typedef LONG (WINAPI *SetAR_def)(void **, int, int, int);
+
+// CIndexShortcut
+
+class ATL_NO_VTABLE CIndexMatroska :
+ public CComObjectRootEx<CComSingleThreadModel>,
+ public CComCoClass<CIndexMatroska, &CLSID_IndexMatroska>,
+ public ISupportErrorInfo,
+ public IDispatchImpl<IIndexMatroska, &IID_IIndexMatroska, &LIBID_GDCMatroskaLib, /*wMajor =*/ 1, /*wMinor =*/ 0> {
+public:
+ CIndexMatroska();
+
+ DECLARE_REGISTRY_RESOURCEID(IDR_INDEXSHORTCUT)
+
+ BEGIN_COM_MAP(CIndexMatroska)
+ COM_INTERFACE_ENTRY(IIndexMatroska)
+ COM_INTERFACE_ENTRY(IDispatch)
+ COM_INTERFACE_ENTRY(ISupportErrorInfo)
+ END_COM_MAP()
+
+ // ISupportsErrorInfo
+ STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
+
+ DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+ CString GetRegistryValue(HKEY hBaseKey, TCHAR *reg_key, TCHAR *value_key, TCHAR *default_value);
+ HRESULT LoadMatroskaPropLibrary();
+
+ HRESULT FinalConstruct() {
+ LoadMatroskaPropLibrary();
+ return S_OK;
+ }
+
+ void FinalRelease() {
+ FreeLibrary(m_hMatroskaPropDLL);
+ }
+
+ CreateParserObject_def fnCreateParserObject;
+ FillParserObject_def fnFillParserObject;
+ DeleteParserObject_def fnDeleteParserObject;
+ GetTrackCount_def fnGetTrackCount;
+ GetTrackUID_def fnGetTrackUID;
+ GetTrackType_def fnGetTrackType;
+ GetTrackTypeLen_def fnGetTrackTypeLen;
+ GetTrackTypeStr_def fnGetTrackTypeStr;
+ GetTrackCodecIDLen_def fnGetTrackCodecIDLen;
+ GetTrackCodecIDStr_def fnGetTrackCodecIDStr;
+ GetTrackLength_def fnGetTrackLength;
+ GetTrackVideoInfo_def fnGetTrackVideoInfo;
+ GetTrackAudioInfo_def fnGetTrackAudioInfo;
+ HMODULE m_hMatroskaPropDLL;
+public:
+ // IIndexShortcut implementation
+ STDMETHOD(HandleFile)(BSTR full_path_to_file, IDispatch *event_factory);
+};
+
+OBJECT_ENTRY_AUTO(__uuidof(IndexMatroska), CIndexMatroska)
Added: trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.rgs
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.rgs 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/IndexMatroska.rgs 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,27 @@
+HKCR
+{
+ GDCMatroska.IndexShortcut.1 = s 'IndexMatroska Class'
+ {
+ CLSID = s '{364F941C-6DB0-437d-BBB9-22FCBA88DE30}'
+ }
+ GDCMatroska.IndexShortcut = s 'IndexMatroska Class'
+ {
+ CLSID = s '{364F941C-6DB0-437d-BBB9-22FCBA88DE30}'
+ CurVer = s 'GoogleDesktopComponentSample1.IndexMatroska.1'
+ }
+ NoRemove CLSID
+ {
+ ForceRemove {364F941C-6DB0-437d-BBB9-22FCBA88DE30} = s 'IndexMatroska Class'
+ {
+ ProgID = s 'GDCMatroska.IndexMatroska.1'
+ VersionIndependentProgID = s 'GDCMatroska.IndexMatroska'
+ ForceRemove 'Programmable'
+ InprocServer32 = s '%MODULE%'
+ {
+ val ThreadingModel = s 'Both'
+ }
+ val AppID = s '%APPID%'
+ 'TypeLib' = s '{5D10BF95-A849-47dd-9978-65A5F8F940E1}'
+ }
+ }
+}
Added: trunk/MatroskaUtils/GDC/GDCMatroska/ReadMe.txt
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/ReadMe.txt 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/ReadMe.txt 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,40 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : GDCMatroska Project Overview
+========================================================================
+
+AppWizard has created this GDCMatroska DLL for you.
+This file contains a summary of what you will find in each of the files that
+make up your GDCMatroska application.
+
+
+GDCMatroska.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+GDCMatroska.cpp
+ This is the main DLL source file.
+
+ When created, this DLL does not export any symbols. As a result, it
+ will not produce a .lib file when it is built. If you wish this project
+ to be a project dependency of some other project, you will either need to
+ add code to export some symbols from the DLL so that an export library
+ will be produced, or you can set the Ignore Input Library property to Yes
+ on the General propert page of the Linker folder in the project's Property
+ Pages dialog box.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named GDCMatroska.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Added: trunk/MatroskaUtils/GDC/GDCMatroska/dlldata.c
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/dlldata.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/dlldata.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,38 @@
+/*********************************************************
+ DllData file -- generated by MIDL compiler
+
+ DO NOT ALTER THIS FILE
+
+ This file is regenerated by MIDL on every IDL file compile.
+
+ To completely reconstruct this file, delete it and rerun MIDL
+ on all the IDL files in this DLL, specifying this file for the
+ /dlldata command line option
+
+*********************************************************/
+
+#define PROXY_DELEGATION
+
+#include <rpcproxy.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_PROXY_FILE( GDCMatroska )
+
+
+PROXYFILE_LIST_START
+/* Start of list */
+ REFERENCE_PROXY_FILE( GDCMatroska ),
+/* End of list */
+PROXYFILE_LIST_END
+
+
+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+/* end of generated dlldata file */
Added: trunk/MatroskaUtils/GDC/GDCMatroska/registration.ico
===================================================================
(Binary files differ)
Property changes on: trunk/MatroskaUtils/GDC/GDCMatroska/registration.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/MatroskaUtils/GDC/GDCMatroska/resource.h
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/resource.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/resource.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,20 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by GoogleDesktopComponentSample1.rc
+//
+#define IDS_PROJNAME 100
+#define IDR_SAMPLE 101
+#define IDR_INDEXMATROSKA 102
+#define IDI_ICON1 201
+#define IDI_REGISTRATIONICON 201
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 202
+#define _APS_NEXT_COMMAND_VALUE 32768
+#define _APS_NEXT_CONTROL_VALUE 201
+#define _APS_NEXT_SYMED_VALUE 103
+#endif
+#endif
Added: trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.cpp
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// GDCMatroska.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Added: trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.h
===================================================================
--- trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GDCMatroska/stdafx.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,43 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+// Modify the following defines if you have to target a platform prior to the ones specified below.
+// Refer to MSDN for the latest info on corresponding values for different platforms.
+#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.
+#define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
+#endif
+
+#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.
+#define _WIN32_WINNT 0x0400 // Change this to the appropriate value to target Windows 2000 or later.
+#endif
+
+#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
+#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
+#endif
+
+#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.
+#define _WIN32_IE 0x0400 // Change this to the appropriate value to target IE 5.0 or later.
+#endif
+
+#define _ATL_APARTMENT_THREADED
+#define _ATL_NO_AUTOMATIC_NAMESPACE
+
+//#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
+
+// turns off ATL's hiding of some common and often safely ignored warning messages
+#define _ATL_ALL_WARNINGS
+
+
+#include "resource.h"
+#include <atlbase.h>
+#include <atlcom.h>
+
+#include "../common/GoogleDesktopSearchAPI.h"
+#include "../common/GoogleDesktopComponentRegistration.h"
+
+using namespace ATL;
Added: trunk/MatroskaUtils/GDC/GoogleDesktopComponent.sln
===================================================================
--- trunk/MatroskaUtils/GDC/GoogleDesktopComponent.sln 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/GoogleDesktopComponent.sln 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,58 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmatroska", "..\..\libmatroska\make\vc7\lib\static\libmatroska.v71.vcproj", "{FD69BB21-A9BF-4486-9B8A-F0E88C82F704}"
+ ProjectSection(ProjectDependencies) = postProject
+ {168C0F0D-9975-4D24-885C-87A9B018617E} = {168C0F0D-9975-4D24-885C-87A9B018617E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libebml", "..\..\libebml\make\vc7\lib\libebml.v71.vcproj", "{168C0F0D-9975-4D24-885C-87A9B018617E}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatroskaUtils", "..\MatroskaUtils.vcproj", "{E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GoogleDesktopComponentCommon", "common\GoogleDesktopComponentCommon.vcproj", "{5A0D55C3-7C2A-4B61-8F28-6B757052788F}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GDCMatroska", "GDCMatroska\GDCMatroska.vcproj", "{D850DCDA-78AD-42C1-BF71-B5995900BCA9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {168C0F0D-9975-4D24-885C-87A9B018617E} = {168C0F0D-9975-4D24-885C-87A9B018617E}
+ {FD69BB21-A9BF-4486-9B8A-F0E88C82F704} = {FD69BB21-A9BF-4486-9B8A-F0E88C82F704}
+ {5A0D55C3-7C2A-4B61-8F28-6B757052788F} = {5A0D55C3-7C2A-4B61-8F28-6B757052788F}
+ {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750} = {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {FD69BB21-A9BF-4486-9B8A-F0E88C82F704}.Debug.ActiveCfg = Debug|Win32
+ {FD69BB21-A9BF-4486-9B8A-F0E88C82F704}.Debug.Build.0 = Debug|Win32
+ {FD69BB21-A9BF-4486-9B8A-F0E88C82F704}.Release.ActiveCfg = Release|Win32
+ {FD69BB21-A9BF-4486-9B8A-F0E88C82F704}.Release.Build.0 = Release|Win32
+ {168C0F0D-9975-4D24-885C-87A9B018617E}.Debug.ActiveCfg = Debug|Win32
+ {168C0F0D-9975-4D24-885C-87A9B018617E}.Debug.Build.0 = Debug|Win32
+ {168C0F0D-9975-4D24-885C-87A9B018617E}.Release.ActiveCfg = Release|Win32
+ {168C0F0D-9975-4D24-885C-87A9B018617E}.Release.Build.0 = Release|Win32
+ {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}.Debug.ActiveCfg = Debug Minimal|Win32
+ {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}.Debug.Build.0 = Debug Minimal|Win32
+ {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}.Release.ActiveCfg = Release Minimal|Win32
+ {E3C2A4E1-3DC5-4B67-A3F1-D8AB645DC750}.Release.Build.0 = Release Minimal|Win32
+ {5A0D55C3-7C2A-4B61-8F28-6B757052788F}.Debug.ActiveCfg = Debug|Win32
+ {5A0D55C3-7C2A-4B61-8F28-6B757052788F}.Debug.Build.0 = Debug|Win32
+ {5A0D55C3-7C2A-4B61-8F28-6B757052788F}.Release.ActiveCfg = Release|Win32
+ {5A0D55C3-7C2A-4B61-8F28-6B757052788F}.Release.Build.0 = Release|Win32
+ {D850DCDA-78AD-42C1-BF71-B5995900BCA9}.Debug.ActiveCfg = Debug|Win32
+ {D850DCDA-78AD-42C1-BF71-B5995900BCA9}.Debug.Build.0 = Debug|Win32
+ {D850DCDA-78AD-42C1-BF71-B5995900BCA9}.Release.ActiveCfg = Release|Win32
+ {D850DCDA-78AD-42C1-BF71-B5995900BCA9}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentCommon.vcproj
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentCommon.vcproj 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentCommon.vcproj 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="GoogleDesktopComponentCommon"
+ ProjectGUID="{5A0D55C3-7C2A-4B61-8F28-6B757052788F}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\GoogleDesktopComponentRegistration.h">
+ </File>
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ <File
+ RelativePath=".\GoogleDesktopComponentRegistration.def">
+ </File>
+ </Filter>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\GoogleDesktopComponentRegistration.cpp">
+ </File>
+ <File
+ RelativePath=".\GoogleDesktopSearchAPI.idl">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="TRUE"
+ TypeLibraryName=""
+ HeaderFileName="$(InputName).h"
+ DLLDataFileName=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="FALSE"
+ TypeLibraryName=""
+ HeaderFileName="$(InputName).h"
+ DLLDataFileName=""/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.cpp
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,78 @@
+// Copyright 2004 Google Inc
+// All rights reserved
+//
+#include "stdafx.h"
+#include <atlsafe.h>
+
+#include "GoogleDesktopSearchAPI.h"
+#include "GoogleDesktopComponentRegistration.h"
+
+extern "C" HRESULT RegisterComponentHelper(REFCLSID clsid,
+ const wchar_t *title,
+ const wchar_t *description,
+ const wchar_t *icon,
+ int num_suffixes,
+ const wchar_t *suffixes[]) {
+ CComPtr<IGoogleDesktopSearchComponentRegister> spRegister;
+ HRESULT hr;
+
+ hr = spRegister.CoCreateInstance(CLSID_GoogleDesktopSearchRegister);
+
+ if (SUCCEEDED(hr)) {
+ ATLASSERT(spRegister != NULL);
+
+ // Component description is 6 strings
+ CComSafeArray<VARIANT> arr_descr(6);
+
+ arr_descr.SetAt(0, CComVariant(L"Title"));
+ arr_descr.SetAt(1, CComVariant(title));
+ arr_descr.SetAt(2, CComVariant(L"Description"));
+ arr_descr.SetAt(3, CComVariant(description));
+ arr_descr.SetAt(4, CComVariant(L"Icon"));
+ arr_descr.SetAt(5, CComVariant(icon));
+
+ // our CLSID in string format
+ CComBSTR clsid(clsid);
+
+ // Wrap description array in variant
+ CComVariant descr(arr_descr.m_psa);
+ CComPtr<IGoogleDesktopSearchComponentRegistration> spRegistration;
+
+ // and register
+ hr = spRegister->RegisterComponent(clsid, descr, &spRegistration);
+ if (FAILED(hr))
+ return hr;
+
+ ATLASSERT(FAILED(hr) || spRegistration);
+
+ // success, now register extensions
+ for (int i = 0; SUCCEEDED(hr) && i < num_suffixes; i++)
+ hr = spRegistration->RegisterExtension(CComBSTR(suffixes[i]));
+
+ // revoke our registration in case any of our extensions fail to register
+ if (FAILED(hr)) {
+ // ignore the error - we've already failed
+ HRESULT ignore;
+
+ ignore = spRegister->UnregisterComponent(CComBSTR(clsid));
+ }
+ }
+
+ return hr;
+}
+
+extern "C" HRESULT UnregisterComponentHelper(REFCLSID clsid) {
+ CComPtr<IGoogleDesktopSearchComponentRegister> spRegister;
+ HRESULT hr;
+
+ hr = spRegister.CoCreateInstance(CLSID_GoogleDesktopSearchRegister);
+
+ if (SUCCEEDED(hr)) {
+ // our CLSID in string format
+ CComBSTR bstrClsid(clsid);
+
+ hr = spRegister->UnregisterComponent(bstrClsid);
+ }
+
+ return hr;
+}
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.def
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.def 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.def 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,5 @@
+LIBRARY GoogleDesktopComponentRegistration
+
+EXPORTS
+ RegisterComponentHelper
+ UnregisterComponentHelper
\ No newline at end of file
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.h
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopComponentRegistration.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,20 @@
+// Copyright 2004 Google Inc
+// All rights reserved
+//
+#ifndef __GOOGLE_DESKTOP_COMPONENT_REGISTRATION_H__
+#define __GOOGLE_DESKTOP_COMPONENT_REGISTRATION_H__
+
+// Attempts to register the provided CLSID with GDS
+// if num_suffixes is zero does not attempt to register for crawl
+// events
+extern "C" HRESULT RegisterComponentHelper(REFCLSID clsid,
+ const wchar_t *title,
+ const wchar_t *description,
+ const wchar_t *icon,
+ int num_suffixes,
+ const wchar_t *suffixes[]);
+
+extern "C" HRESULT UnregisterComponentHelper(REFCLSID clsid);
+
+
+#endif // __GOOGLE_DESKTOP_COMPONENT_REGISTRATION_H__
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.h
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,891 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 22:19:47 2005
+ */
+/* Compiler settings for .\GoogleDesktopSearchAPI.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __GoogleDesktopSearchAPI_h__
+#define __GoogleDesktopSearchAPI_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IGoogleDesktopSearchComponentRegistration_FWD_DEFINED__
+#define __IGoogleDesktopSearchComponentRegistration_FWD_DEFINED__
+typedef interface IGoogleDesktopSearchComponentRegistration IGoogleDesktopSearchComponentRegistration;
+#endif /* __IGoogleDesktopSearchComponentRegistration_FWD_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchComponentRegister_FWD_DEFINED__
+#define __IGoogleDesktopSearchComponentRegister_FWD_DEFINED__
+typedef interface IGoogleDesktopSearchComponentRegister IGoogleDesktopSearchComponentRegister;
+#endif /* __IGoogleDesktopSearchComponentRegister_FWD_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchEvent_FWD_DEFINED__
+#define __IGoogleDesktopSearchEvent_FWD_DEFINED__
+typedef interface IGoogleDesktopSearchEvent IGoogleDesktopSearchEvent;
+#endif /* __IGoogleDesktopSearchEvent_FWD_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchEventFactory_FWD_DEFINED__
+#define __IGoogleDesktopSearchEventFactory_FWD_DEFINED__
+typedef interface IGoogleDesktopSearchEventFactory IGoogleDesktopSearchEventFactory;
+#endif /* __IGoogleDesktopSearchEventFactory_FWD_DEFINED__ */
+
+
+#ifndef __DGoogleDesktopSearchFileNotify_FWD_DEFINED__
+#define __DGoogleDesktopSearchFileNotify_FWD_DEFINED__
+typedef interface DGoogleDesktopSearchFileNotify DGoogleDesktopSearchFileNotify;
+#endif /* __DGoogleDesktopSearchFileNotify_FWD_DEFINED__ */
+
+
+#ifndef __DGoogleDesktopSearchFileNotify_FWD_DEFINED__
+#define __DGoogleDesktopSearchFileNotify_FWD_DEFINED__
+typedef interface DGoogleDesktopSearchFileNotify DGoogleDesktopSearchFileNotify;
+#endif /* __DGoogleDesktopSearchFileNotify_FWD_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchEvent_FWD_DEFINED__
+#define __IGoogleDesktopSearchEvent_FWD_DEFINED__
+typedef interface IGoogleDesktopSearchEvent IGoogleDesktopSearchEvent;
+#endif /* __IGoogleDesktopSearchEvent_FWD_DEFINED__ */
+
+
+#ifndef __GoogleDesktopSearch_FWD_DEFINED__
+#define __GoogleDesktopSearch_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class GoogleDesktopSearch GoogleDesktopSearch;
+#else
+typedef struct GoogleDesktopSearch GoogleDesktopSearch;
+#endif /* __cplusplus */
+
+#endif /* __GoogleDesktopSearch_FWD_DEFINED__ */
+
+
+#ifndef __GoogleDesktopSearchRegister_FWD_DEFINED__
+#define __GoogleDesktopSearchRegister_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class GoogleDesktopSearchRegister GoogleDesktopSearchRegister;
+#else
+typedef struct GoogleDesktopSearchRegister GoogleDesktopSearchRegister;
+#endif /* __cplusplus */
+
+#endif /* __GoogleDesktopSearchRegister_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * );
+
+/* interface __MIDL_itf_GoogleDesktopSearchAPI_0000 */
+/* [local] */
+
+#include <winerror.h>
+#define E_EXTENSION_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0001)
+#define E_COMPONENT_NOT_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0002)
+#define E_NO_SUCH_SCHEMA MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0003)
+#define E_NO_SUCH_PROPERTY MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0004)
+#define E_COMPONENT_DISABLED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0005)
+#define E_COMPONENT_ALREADY_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0006)
+#define S_INDEXING_PAUSED MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0007)
+#define E_EVENT_TOO_LARGE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0008)
+#define E_SERVICE_NOT_RUNNING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0009)
+#define E_INVALID_EVENT_FLAGS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x000A)
+
+
+extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopSearchAPI_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopSearchAPI_0000_v0_0_s_ifspec;
+
+#ifndef __IGoogleDesktopSearchComponentRegistration_INTERFACE_DEFINED__
+#define __IGoogleDesktopSearchComponentRegistration_INTERFACE_DEFINED__
+
+/* interface IGoogleDesktopSearchComponentRegistration */
+/* [unique][oleautomation][dual][uuid][object] */
+
+
+EXTERN_C const IID IID_IGoogleDesktopSearchComponentRegistration;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("151857B2-26E0-4f4d-ACED-4F7E4B2065EF")
+ IGoogleDesktopSearchComponentRegistration : public IDispatch
+ {
+ public:
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE RegisterExtension(
+ /* [in] */ BSTR extension_handled) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGoogleDesktopSearchComponentRegistrationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGoogleDesktopSearchComponentRegistration * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGoogleDesktopSearchComponentRegistration * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *RegisterExtension )(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ BSTR extension_handled);
+
+ END_INTERFACE
+ } IGoogleDesktopSearchComponentRegistrationVtbl;
+
+ interface IGoogleDesktopSearchComponentRegistration
+ {
+ CONST_VTBL struct IGoogleDesktopSearchComponentRegistrationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IGoogleDesktopSearchComponentRegistration_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IGoogleDesktopSearchComponentRegistration_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IGoogleDesktopSearchComponentRegistration_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IGoogleDesktopSearchComponentRegistration_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IGoogleDesktopSearchComponentRegistration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IGoogleDesktopSearchComponentRegistration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IGoogleDesktopSearchComponentRegistration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IGoogleDesktopSearchComponentRegistration_RegisterExtension(This,extension_handled) \
+ (This)->lpVtbl -> RegisterExtension(This,extension_handled)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchComponentRegistration_RegisterExtension_Proxy(
+ IGoogleDesktopSearchComponentRegistration * This,
+ /* [in] */ BSTR extension_handled);
+
+
+void __RPC_STUB IGoogleDesktopSearchComponentRegistration_RegisterExtension_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGoogleDesktopSearchComponentRegistration_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchComponentRegister_INTERFACE_DEFINED__
+#define __IGoogleDesktopSearchComponentRegister_INTERFACE_DEFINED__
+
+/* interface IGoogleDesktopSearchComponentRegister */
+/* [unique][oleautomation][dual][uuid][object] */
+
+
+EXTERN_C const IID IID_IGoogleDesktopSearchComponentRegister;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9B311E80-BC95-4518-A58C-446EC9A082B5")
+ IGoogleDesktopSearchComponentRegister : public IDispatch
+ {
+ public:
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE RegisterComponent(
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ VARIANT component_description,
+ /* [retval][out] */ IGoogleDesktopSearchComponentRegistration **registration) = 0;
+
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE UnregisterComponent(
+ /* [in] */ BSTR component_guid_or_progid) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGoogleDesktopSearchComponentRegisterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGoogleDesktopSearchComponentRegister * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGoogleDesktopSearchComponentRegister * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *RegisterComponent )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ VARIANT component_description,
+ /* [retval][out] */ IGoogleDesktopSearchComponentRegistration **registration);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterComponent )(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ BSTR component_guid_or_progid);
+
+ END_INTERFACE
+ } IGoogleDesktopSearchComponentRegisterVtbl;
+
+ interface IGoogleDesktopSearchComponentRegister
+ {
+ CONST_VTBL struct IGoogleDesktopSearchComponentRegisterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IGoogleDesktopSearchComponentRegister_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IGoogleDesktopSearchComponentRegister_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IGoogleDesktopSearchComponentRegister_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IGoogleDesktopSearchComponentRegister_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IGoogleDesktopSearchComponentRegister_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IGoogleDesktopSearchComponentRegister_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IGoogleDesktopSearchComponentRegister_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IGoogleDesktopSearchComponentRegister_RegisterComponent(This,component_guid_or_progid,component_description,registration) \
+ (This)->lpVtbl -> RegisterComponent(This,component_guid_or_progid,component_description,registration)
+
+#define IGoogleDesktopSearchComponentRegister_UnregisterComponent(This,component_guid_or_progid) \
+ (This)->lpVtbl -> UnregisterComponent(This,component_guid_or_progid)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchComponentRegister_RegisterComponent_Proxy(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ VARIANT component_description,
+ /* [retval][out] */ IGoogleDesktopSearchComponentRegistration **registration);
+
+
+void __RPC_STUB IGoogleDesktopSearchComponentRegister_RegisterComponent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchComponentRegister_UnregisterComponent_Proxy(
+ IGoogleDesktopSearchComponentRegister * This,
+ /* [in] */ BSTR component_guid_or_progid);
+
+
+void __RPC_STUB IGoogleDesktopSearchComponentRegister_UnregisterComponent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGoogleDesktopSearchComponentRegister_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchEvent_INTERFACE_DEFINED__
+#define __IGoogleDesktopSearchEvent_INTERFACE_DEFINED__
+
+/* interface IGoogleDesktopSearchEvent */
+/* [unique][oleautomation][dual][uuid][object] */
+
+
+enum EventFlags
+ { EventFlagIndexable = 0x1,
+ EventFlagHistorical = 0x10
+ } ;
+
+EXTERN_C const IID IID_IGoogleDesktopSearchEvent;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("BDAC0047-4759-43a1-BA04-B148E1679E87")
+ IGoogleDesktopSearchEvent : public IDispatch
+ {
+ public:
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddProperty(
+ BSTR property_name,
+ VARIANT property_value) = 0;
+
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE Send(
+ long event_flags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGoogleDesktopSearchEventVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGoogleDesktopSearchEvent * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGoogleDesktopSearchEvent * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGoogleDesktopSearchEvent * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IGoogleDesktopSearchEvent * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IGoogleDesktopSearchEvent * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IGoogleDesktopSearchEvent * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IGoogleDesktopSearchEvent * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddProperty )(
+ IGoogleDesktopSearchEvent * This,
+ BSTR property_name,
+ VARIANT property_value);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *Send )(
+ IGoogleDesktopSearchEvent * This,
+ long event_flags);
+
+ END_INTERFACE
+ } IGoogleDesktopSearchEventVtbl;
+
+ interface IGoogleDesktopSearchEvent
+ {
+ CONST_VTBL struct IGoogleDesktopSearchEventVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IGoogleDesktopSearchEvent_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IGoogleDesktopSearchEvent_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IGoogleDesktopSearchEvent_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IGoogleDesktopSearchEvent_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IGoogleDesktopSearchEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IGoogleDesktopSearchEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IGoogleDesktopSearchEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IGoogleDesktopSearchEvent_AddProperty(This,property_name,property_value) \
+ (This)->lpVtbl -> AddProperty(This,property_name,property_value)
+
+#define IGoogleDesktopSearchEvent_Send(This,event_flags) \
+ (This)->lpVtbl -> Send(This,event_flags)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchEvent_AddProperty_Proxy(
+ IGoogleDesktopSearchEvent * This,
+ BSTR property_name,
+ VARIANT property_value);
+
+
+void __RPC_STUB IGoogleDesktopSearchEvent_AddProperty_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchEvent_Send_Proxy(
+ IGoogleDesktopSearchEvent * This,
+ long event_flags);
+
+
+void __RPC_STUB IGoogleDesktopSearchEvent_Send_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGoogleDesktopSearchEvent_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGoogleDesktopSearchEventFactory_INTERFACE_DEFINED__
+#define __IGoogleDesktopSearchEventFactory_INTERFACE_DEFINED__
+
+/* interface IGoogleDesktopSearchEventFactory */
+/* [unique][oleautomation][dual][uuid][object] */
+
+
+EXTERN_C const IID IID_IGoogleDesktopSearchEventFactory;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A79E51C6-DB2D-4a44-848E-A8EBB22E5337")
+ IGoogleDesktopSearchEventFactory : public IDispatch
+ {
+ public:
+ virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateEvent(
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ BSTR schema_name,
+ /* [retval][out] */ IDispatch **event) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGoogleDesktopSearchEventFactoryVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGoogleDesktopSearchEventFactory * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGoogleDesktopSearchEventFactory * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateEvent )(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ BSTR schema_name,
+ /* [retval][out] */ IDispatch **event);
+
+ END_INTERFACE
+ } IGoogleDesktopSearchEventFactoryVtbl;
+
+ interface IGoogleDesktopSearchEventFactory
+ {
+ CONST_VTBL struct IGoogleDesktopSearchEventFactoryVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IGoogleDesktopSearchEventFactory_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IGoogleDesktopSearchEventFactory_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IGoogleDesktopSearchEventFactory_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IGoogleDesktopSearchEventFactory_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IGoogleDesktopSearchEventFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IGoogleDesktopSearchEventFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IGoogleDesktopSearchEventFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IGoogleDesktopSearchEventFactory_CreateEvent(This,component_guid_or_progid,schema_name,event) \
+ (This)->lpVtbl -> CreateEvent(This,component_guid_or_progid,schema_name,event)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSearchEventFactory_CreateEvent_Proxy(
+ IGoogleDesktopSearchEventFactory * This,
+ /* [in] */ BSTR component_guid_or_progid,
+ /* [in] */ BSTR schema_name,
+ /* [retval][out] */ IDispatch **event);
+
+
+void __RPC_STUB IGoogleDesktopSearchEventFactory_CreateEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGoogleDesktopSearchEventFactory_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __GoogleDesktopSearchAPILib_LIBRARY_DEFINED__
+#define __GoogleDesktopSearchAPILib_LIBRARY_DEFINED__
+
+/* library GoogleDesktopSearchAPILib */
+/* [helpstring][version][uuid] */
+
+
+
+
+EXTERN_C const IID LIBID_GoogleDesktopSearchAPILib;
+
+#ifndef __DGoogleDesktopSearchFileNotify_DISPINTERFACE_DEFINED__
+#define __DGoogleDesktopSearchFileNotify_DISPINTERFACE_DEFINED__
+
+/* dispinterface DGoogleDesktopSearchFileNotify */
+/* [uuid] */
+
+
+EXTERN_C const IID DIID_DGoogleDesktopSearchFileNotify;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A1DE6DB8-B20F-445c-BFDE-16C8D53A2FA1")
+ DGoogleDesktopSearchFileNotify : public IDispatch
+ {
+ };
+
+#else /* C style interface */
+
+ typedef struct DGoogleDesktopSearchFileNotifyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ DGoogleDesktopSearchFileNotify * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ DGoogleDesktopSearchFileNotify * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ DGoogleDesktopSearchFileNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ DGoogleDesktopSearchFileNotify * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ DGoogleDesktopSearchFileNotify * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ DGoogleDesktopSearchFileNotify * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ DGoogleDesktopSearchFileNotify * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ END_INTERFACE
+ } DGoogleDesktopSearchFileNotifyVtbl;
+
+ interface DGoogleDesktopSearchFileNotify
+ {
+ CONST_VTBL struct DGoogleDesktopSearchFileNotifyVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define DGoogleDesktopSearchFileNotify_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define DGoogleDesktopSearchFileNotify_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define DGoogleDesktopSearchFileNotify_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define DGoogleDesktopSearchFileNotify_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define DGoogleDesktopSearchFileNotify_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define DGoogleDesktopSearchFileNotify_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define DGoogleDesktopSearchFileNotify_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+#endif /* __DGoogleDesktopSearchFileNotify_DISPINTERFACE_DEFINED__ */
+
+
+EXTERN_C const CLSID CLSID_GoogleDesktopSearch;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("579822B3-44CD-4786-83E0-AE32BCB9E6B1")
+GoogleDesktopSearch;
+#endif
+
+EXTERN_C const CLSID CLSID_GoogleDesktopSearchRegister;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("BB8B07A0-B8D1-44e0-A262-C9B7212AEC68")
+GoogleDesktopSearchRegister;
+#endif
+#endif /* __GoogleDesktopSearchAPILib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
+void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.idl
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.idl 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI.idl 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,227 @@
+// Copyright 2004-2005 Google Inc.
+// All Rights Reserved
+//
+import "oaidl.idl";
+import "ocidl.idl";
+
+
+cpp_quote("#include <winerror.h>")
+
+// GDS API specific HRESULTs
+cpp_quote("#define E_EXTENSION_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0001)")
+cpp_quote("#define E_COMPONENT_NOT_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0002)")
+cpp_quote("#define E_NO_SUCH_SCHEMA MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0003)")
+cpp_quote("#define E_NO_SUCH_PROPERTY MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0004)")
+cpp_quote("#define E_COMPONENT_DISABLED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0005)")
+cpp_quote("#define E_COMPONENT_ALREADY_REGISTERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0006)")
+cpp_quote("#define S_INDEXING_PAUSED MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0007)")
+cpp_quote("#define E_EVENT_TOO_LARGE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0008)")
+cpp_quote("#define E_SERVICE_NOT_RUNNING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0009)")
+cpp_quote("#define E_INVALID_EVENT_FLAGS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x000A)")
+
+[
+ object,
+ uuid(151857B2-26E0-4f4d-ACED-4F7E4B2065EF),
+ dual,
+ oleautomation,
+ pointer_default(unique)
+]
+// Components interested in crawl events call this to register their
+// event interest. Components who are only interested in generating
+// events needn't concern themselves with this interface.
+interface IGoogleDesktopSearchComponentRegistration: IDispatch
+{
+ // Must be invoked by every component interested in receiving
+ // crawler events for a file extension.
+ // @param extension_handled an extension this component wishes to handle
+ // @return S_OK on success
+ // E_EXTENSION_REGISTERED in case the extension conflicts with an
+ // existing registration.
+ // another appropriate error.
+ [id(0x00000001)]
+ HRESULT RegisterExtension(
+ [in] BSTR extension_handled);
+};
+
+[
+ object,
+ uuid(9B311E80-BC95-4518-A58C-446EC9A082B5),
+ dual,
+ oleautomation,
+ pointer_default(unique)
+]
+// Components are required to to call this interface to register
+// themselves with Google Desktop Search before they can send events
+// or receive crawl events.
+interface IGoogleDesktopSearchComponentRegister: IDispatch {
+ // Must be invoked by every component interested in generating
+ // events or receiving crawler events.
+ // @param component_guid_or_progid a string spelling out the component's GUID
+ // or its ProgID.
+ // @param component_description is a VARIANT containing a SAFEARRY.
+ // The safearray contains pairs, where element 2N is the name of
+ // a descriptive parameter, and element 2N+1 is the value of that
+ // parameter.
+ // Mandated description parameters are:
+ // - "Title" component title as displayed on the preference page.
+ // - "Description", component description as displayed on the
+ // preferences page.
+ // - "ICON" the component icon, which is a string pointing to an ICON
+ // resource. This string is of the format <module>,<id>, e.g
+ // "c:\program files\boo\comp.dll,23".
+ // @return S_OK on success, appropriate error on failure, such
+ // as if the component's classID or appID is not registered,
+ // if the component is prohibited by policy or whatever.
+ // @note for executables and plugins that wish to generate events, we
+ // mandate that they register a classid and/or a progid, in order
+ // to have a guaranteed unique identifier for the event generator.
+ [id(0x00000001)]
+ HRESULT RegisterComponent(
+ [in] BSTR component_guid_or_progid,
+ [in] VARIANT component_description,
+ [out, retval] IGoogleDesktopSearchComponentRegistration **registration);
+
+ // Invoked by a component on unregistration.
+ // Cancels the component registration, along with all file types
+ // it has registed for.
+ [id(0x00000002)]
+ HRESULT UnregisterComponent(
+ [in] BSTR component_guid_or_progid);
+};
+
+[
+ object,
+ uuid(BDAC0047-4759-43a1-BA04-B148E1679E87),
+ dual,
+ oleautomation,
+ pointer_default(unique)
+]
+// Event interface, one of these is constructed for every event generated
+// by a component
+interface IGoogleDesktopSearchEvent: IDispatch
+{
+ enum EventFlags
+ {
+ // Set this flag on all events
+ EventFlagIndexable = 0x00000001,
+ // Set this flag when the event is historical, i.e. generated from a crawl
+ // over files or other data generated in the past. This is as opposed to
+ // events generated in realtime from events presently occurring
+ EventFlagHistorical = 0x00000010
+ };
+
+ // Add a typed property.
+ // @param property_name name of the property, the name must exist in
+ // the selected schema.
+ // @param property_value value of the property, must be typed appropriately
+ // for the selected schema.
+ // @return
+ // S_OK in success,
+ // E_NO_SUCH_PROPERTY if property does not exist,
+ // any of the errors returned from VariantChangeType if the
+ // type of the property does not match the type declared in the schema,
+ // or cannot be coerced to the correct type.
+ // Another appropriate error value.
+ [id(0x00000001)]
+ HRESULT AddProperty(BSTR property_name, VARIANT property_value);
+
+ // Sends the event.
+ // @param event_flags event flags, a bitwise OR of EventFlags enumeration
+ // values.
+ // @note events sent as result of crawl event notifications should have
+ // not set the EventFlagHistorical flag, since the event might have
+ // been generated as result of realtime filesystem changes.
+ // @note it is not possible to resend, nor to add properties to a sent event.
+ [id(0x00000002)]
+ HRESULT Send(long event_flags);
+};
+
+[
+ object,
+ uuid(A79E51C6-DB2D-4a44-848E-A8EBB22E5337),
+ dual,
+ oleautomation,
+ pointer_default(unique)
+]
+// Factory interface to yield new events.
+interface IGoogleDesktopSearchEventFactory: IDispatch
+{
+ // Creates a new event to the specified schema.
+ // @param component_guid_or_progid a string spelling out the creating
+ // component's GUID or its appID.
+ // @param schema_name the requested event schema.
+ // @return S_OK on success,
+ // E_NO_SUCH_SCHEMA if schema does not exist,
+ // otherwise an appropriate error
+ [id(0x00000001)]
+ HRESULT CreateEvent(
+ [in] BSTR component_guid_or_progid,
+ [in ]BSTR schema_name,
+ [out, retval] IDispatch **event);
+};
+
+
+[
+ uuid(A1DE6DB8-B20F-445c-BFDE-16C8D53A2FA1)
+]
+// This is implemented by components that wish to receive crawl notifications
+// The component is responsible for instantiating the event factory and
+// issuing the appropriate events
+dispinterface DGoogleDesktopSearchFileNotify
+{
+properties:
+methods:
+ // Invoked when the crawler comes across a file registered to this
+ // component. Crawl components implement this function, then create and send
+ // zero or more events - as appropriate for the file.
+ // @param full_path_to_file the file to handle
+ // @param event_factory event factory for creating the events
+ // @return
+ // S_OK if the file was handled,
+ // an appropriate error otherwise.
+ // @note the crawler may do special handling for certain error values.
+ // In particular it may retry indexing for some specific errors,
+ // such as e.g.HRESULT_FROM_WIN32(ERROR_SHARING_VIOLATION), so components
+ // should be as accurate in error reporting as possible.
+ // The crawler may also use any error info object returned from the
+ // component for logging and reporting, so don't skimp on error
+ // eporting through SetErrorInfo.
+ [id(0x00000001)]
+ HRESULT HandleFile(
+ [in] BSTR full_path_to_file,
+ [in] IDispatch *event_factory);
+};
+
+[
+ uuid(3D056FE7-EA8E-481a-B18F-0B02EBF6B3C1),
+ version(1.0),
+ helpstring("Google Desktop Search API 1.0 Type Library")
+]
+library GoogleDesktopSearchAPILib
+{
+ importlib("stdole2.tlb");
+
+ // pull these interfaces into the typelib
+ interface DGoogleDesktopSearchFileNotify;
+ interface IGoogleDesktopSearchEvent;
+
+ [
+ uuid(579822B3-44CD-4786-83E0-AE32BCB9E6B1),
+ helpstring("GoogleDesktopSearch Class")
+ ]
+ // Instantiate this class to get the event factory.
+ coclass GoogleDesktopSearch
+ {
+ [default] interface IGoogleDesktopSearchEventFactory;
+ };
+
+ [
+ uuid(BB8B07A0-B8D1-44e0-A262-C9B7212AEC68),
+ helpstring("GoogleDesktopSearchRegister Class")
+ ]
+ // Instantiate this class to get to the registration mechanism
+ coclass GoogleDesktopSearchRegister
+ {
+ [default] interface IGoogleDesktopSearchComponentRegister;
+ };
+};
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_i.c
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_i.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_i.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,105 @@
+
+
+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 22:19:47 2005
+ */
+/* Compiler settings for .\GoogleDesktopSearchAPI.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#if !defined(_M_IA64) && !defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifdef _MIDL_USE_GUIDDEF_
+
+#ifndef INITGUID
+#define INITGUID
+#include <guiddef.h>
+#undef INITGUID
+#else
+#include <guiddef.h>
+#endif
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
+
+#else // !_MIDL_USE_GUIDDEF_
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+ unsigned long x;
+ unsigned short s1;
+ unsigned short s2;
+ unsigned char c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
+
+#endif !_MIDL_USE_GUIDDEF_
+
+MIDL_DEFINE_GUID(IID, IID_IGoogleDesktopSearchComponentRegistration,0x151857B2,0x26E0,0x4f4d,0xAC,0xED,0x4F,0x7E,0x4B,0x20,0x65,0xEF);
+
+
+MIDL_DEFINE_GUID(IID, IID_IGoogleDesktopSearchComponentRegister,0x9B311E80,0xBC95,0x4518,0xA5,0x8C,0x44,0x6E,0xC9,0xA0,0x82,0xB5);
+
+
+MIDL_DEFINE_GUID(IID, IID_IGoogleDesktopSearchEvent,0xBDAC0047,0x4759,0x43a1,0xBA,0x04,0xB1,0x48,0xE1,0x67,0x9E,0x87);
+
+
+MIDL_DEFINE_GUID(IID, IID_IGoogleDesktopSearchEventFactory,0xA79E51C6,0xDB2D,0x4a44,0x84,0x8E,0xA8,0xEB,0xB2,0x2E,0x53,0x37);
+
+
+MIDL_DEFINE_GUID(IID, DIID_DGoogleDesktopSearchFileNotify,0xA1DE6DB8,0xB20F,0x445c,0xBF,0xDE,0x16,0xC8,0xD5,0x3A,0x2F,0xA1);
+
+
+MIDL_DEFINE_GUID(IID, LIBID_GoogleDesktopSearchAPILib,0x3D056FE7,0xEA8E,0x481a,0xB1,0x8F,0x0B,0x02,0xEB,0xF6,0xB3,0xC1);
+
+
+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleDesktopSearch,0x579822B3,0x44CD,0x4786,0x83,0xE0,0xAE,0x32,0xBC,0xB9,0xE6,0xB1);
+
+
+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleDesktopSearchRegister,0xBB8B07A0,0xB8D1,0x44e0,0xA2,0x62,0xC9,0xB7,0x21,0x2A,0xEC,0x68);
+
+#undef MIDL_DEFINE_GUID
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
+
Added: trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_p.c
===================================================================
--- trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_p.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/GoogleDesktopSearchAPI_p.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,1468 @@
+
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Thu Mar 24 22:19:47 2005
+ */
+/* Compiler settings for .\GoogleDesktopSearchAPI.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#if !defined(_M_IA64) && !defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+#if _MSC_VER >= 1200
+#pragma warning(push)
+#endif
+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
+#pragma warning( disable: 4211 ) /* redefine extent to static */
+#pragma warning( disable: 4232 ) /* dllimport identity*/
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 475
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif // __RPCPROXY_H_VERSION__
+
+
+#include "GoogleDesktopSearchAPI.h"
+
+#define TYPE_FORMAT_STRING_SIZE 1071
+#define PROC_FORMAT_STRING_SIZE 247
+#define TRANSMIT_AS_TABLE_SIZE 0
+#define WIRE_MARSHAL_TABLE_SIZE 2
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
+ } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
+ } MIDL_PROC_FORMAT_STRING;
+
+
+static RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IGoogleDesktopSearchComponentRegistration_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchComponentRegistration_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IGoogleDesktopSearchComponentRegister_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchComponentRegister_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IGoogleDesktopSearchEvent_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchEvent_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IGoogleDesktopSearchEventFactory_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchEventFactory_ProxyInfo;
+
+
+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
+
+#if !defined(__RPC_WIN32__)
+#error Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT50_OR_LATER)
+#error You need a Windows 2000 or later to run this stub because it uses these features:
+#error /robust command line switch.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+ {
+ 0,
+ {
+
+ /* Procedure RegisterExtension */
+
+ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2 */ NdrFcLong( 0x0 ), /* 0 */
+/* 6 */ NdrFcShort( 0x7 ), /* 7 */
+/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 10 */ NdrFcShort( 0x0 ), /* 0 */
+/* 12 */ NdrFcShort( 0x8 ), /* 8 */
+/* 14 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 16 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 18 */ NdrFcShort( 0x0 ), /* 0 */
+/* 20 */ NdrFcShort( 0x1 ), /* 1 */
+/* 22 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter extension_handled */
+
+/* 24 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 28 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Return value */
+
+/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 34 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure RegisterComponent */
+
+/* 36 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 38 */ NdrFcLong( 0x0 ), /* 0 */
+/* 42 */ NdrFcShort( 0x7 ), /* 7 */
+/* 44 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */
+/* 46 */ NdrFcShort( 0x0 ), /* 0 */
+/* 48 */ NdrFcShort( 0x8 ), /* 8 */
+/* 50 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 52 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 54 */ NdrFcShort( 0x0 ), /* 0 */
+/* 56 */ NdrFcShort( 0x21 ), /* 33 */
+/* 58 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter component_guid_or_progid */
+
+/* 60 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 64 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Parameter component_description */
+
+/* 66 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 70 */ NdrFcShort( 0x40a ), /* Type Offset=1034 */
+
+ /* Parameter registration */
+
+/* 72 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 74 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 76 */ NdrFcShort( 0x414 ), /* Type Offset=1044 */
+
+ /* Return value */
+
+/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 80 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 82 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure UnregisterComponent */
+
+/* 84 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 86 */ NdrFcLong( 0x0 ), /* 0 */
+/* 90 */ NdrFcShort( 0x8 ), /* 8 */
+/* 92 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 94 */ NdrFcShort( 0x0 ), /* 0 */
+/* 96 */ NdrFcShort( 0x8 ), /* 8 */
+/* 98 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 100 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 102 */ NdrFcShort( 0x0 ), /* 0 */
+/* 104 */ NdrFcShort( 0x1 ), /* 1 */
+/* 106 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter component_guid_or_progid */
+
+/* 108 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 112 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Return value */
+
+/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 118 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure AddProperty */
+
+/* 120 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 122 */ NdrFcLong( 0x0 ), /* 0 */
+/* 126 */ NdrFcShort( 0x7 ), /* 7 */
+/* 128 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 130 */ NdrFcShort( 0x0 ), /* 0 */
+/* 132 */ NdrFcShort( 0x8 ), /* 8 */
+/* 134 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 136 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 138 */ NdrFcShort( 0x0 ), /* 0 */
+/* 140 */ NdrFcShort( 0x21 ), /* 33 */
+/* 142 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter property_name */
+
+/* 144 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 148 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Parameter property_value */
+
+/* 150 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 154 */ NdrFcShort( 0x40a ), /* Type Offset=1034 */
+
+ /* Return value */
+
+/* 156 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 158 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 160 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure Send */
+
+/* 162 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 164 */ NdrFcLong( 0x0 ), /* 0 */
+/* 168 */ NdrFcShort( 0x8 ), /* 8 */
+/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 172 */ NdrFcShort( 0x8 ), /* 8 */
+/* 174 */ NdrFcShort( 0x8 ), /* 8 */
+/* 176 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 178 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 180 */ NdrFcShort( 0x0 ), /* 0 */
+/* 182 */ NdrFcShort( 0x0 ), /* 0 */
+/* 184 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter event_flags */
+
+/* 186 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 188 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 190 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 194 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 196 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure CreateEvent */
+
+/* 198 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 200 */ NdrFcLong( 0x0 ), /* 0 */
+/* 204 */ NdrFcShort( 0x7 ), /* 7 */
+/* 206 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 208 */ NdrFcShort( 0x0 ), /* 0 */
+/* 210 */ NdrFcShort( 0x8 ), /* 8 */
+/* 212 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 214 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 216 */ NdrFcShort( 0x0 ), /* 0 */
+/* 218 */ NdrFcShort( 0x2 ), /* 2 */
+/* 220 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter component_guid_or_progid */
+
+/* 222 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 226 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Parameter schema_name */
+
+/* 228 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 232 */ NdrFcShort( 0x1c ), /* Type Offset=28 */
+
+ /* Parameter event */
+
+/* 234 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 236 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 238 */ NdrFcShort( 0x42a ), /* Type Offset=1066 */
+
+ /* Return value */
+
+/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 242 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 244 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ 0x0
+ }
+ };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+ {
+ 0,
+ {
+ NdrFcShort( 0x0 ), /* 0 */
+/* 2 */
+ 0x12, 0x0, /* FC_UP */
+/* 4 */ NdrFcShort( 0xe ), /* Offset= 14 (18) */
+/* 6 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 8 */ NdrFcShort( 0x2 ), /* 2 */
+/* 10 */ 0x9, /* Corr desc: FC_ULONG */
+ 0x0, /* */
+/* 12 */ NdrFcShort( 0xfffc ), /* -4 */
+/* 14 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 16 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 18 */
+ 0x17, /* FC_CSTRUCT */
+ 0x3, /* 3 */
+/* 20 */ NdrFcShort( 0x8 ), /* 8 */
+/* 22 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (6) */
+/* 24 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 26 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 28 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 30 */ NdrFcShort( 0x0 ), /* 0 */
+/* 32 */ NdrFcShort( 0x4 ), /* 4 */
+/* 34 */ NdrFcShort( 0x0 ), /* 0 */
+/* 36 */ NdrFcShort( 0xffde ), /* Offset= -34 (2) */
+/* 38 */
+ 0x12, 0x0, /* FC_UP */
+/* 40 */ NdrFcShort( 0x3ce ), /* Offset= 974 (1014) */
+/* 42 */
+ 0x2b, /* FC_NON_ENCAPSULATED_UNION */
+ 0x9, /* FC_ULONG */
+/* 44 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 46 */ NdrFcShort( 0xfff8 ), /* -8 */
+/* 48 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 50 */ NdrFcShort( 0x2 ), /* Offset= 2 (52) */
+/* 52 */ NdrFcShort( 0x10 ), /* 16 */
+/* 54 */ NdrFcShort( 0x2f ), /* 47 */
+/* 56 */ NdrFcLong( 0x14 ), /* 20 */
+/* 60 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 62 */ NdrFcLong( 0x3 ), /* 3 */
+/* 66 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 68 */ NdrFcLong( 0x11 ), /* 17 */
+/* 72 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
+/* 74 */ NdrFcLong( 0x2 ), /* 2 */
+/* 78 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 80 */ NdrFcLong( 0x4 ), /* 4 */
+/* 84 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
+/* 86 */ NdrFcLong( 0x5 ), /* 5 */
+/* 90 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 92 */ NdrFcLong( 0xb ), /* 11 */
+/* 96 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 98 */ NdrFcLong( 0xa ), /* 10 */
+/* 102 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 104 */ NdrFcLong( 0x6 ), /* 6 */
+/* 108 */ NdrFcShort( 0xe8 ), /* Offset= 232 (340) */
+/* 110 */ NdrFcLong( 0x7 ), /* 7 */
+/* 114 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 116 */ NdrFcLong( 0x8 ), /* 8 */
+/* 120 */ NdrFcShort( 0xff8a ), /* Offset= -118 (2) */
+/* 122 */ NdrFcLong( 0xd ), /* 13 */
+/* 126 */ NdrFcShort( 0xdc ), /* Offset= 220 (346) */
+/* 128 */ NdrFcLong( 0x9 ), /* 9 */
+/* 132 */ NdrFcShort( 0xe8 ), /* Offset= 232 (364) */
+/* 134 */ NdrFcLong( 0x2000 ), /* 8192 */
+/* 138 */ NdrFcShort( 0xf4 ), /* Offset= 244 (382) */
+/* 140 */ NdrFcLong( 0x24 ), /* 36 */
+/* 144 */ NdrFcShort( 0x31c ), /* Offset= 796 (940) */
+/* 146 */ NdrFcLong( 0x4024 ), /* 16420 */
+/* 150 */ NdrFcShort( 0x316 ), /* Offset= 790 (940) */
+/* 152 */ NdrFcLong( 0x4011 ), /* 16401 */
+/* 156 */ NdrFcShort( 0x314 ), /* Offset= 788 (944) */
+/* 158 */ NdrFcLong( 0x4002 ), /* 16386 */
+/* 162 */ NdrFcShort( 0x312 ), /* Offset= 786 (948) */
+/* 164 */ NdrFcLong( 0x4003 ), /* 16387 */
+/* 168 */ NdrFcShort( 0x310 ), /* Offset= 784 (952) */
+/* 170 */ NdrFcLong( 0x4014 ), /* 16404 */
+/* 174 */ NdrFcShort( 0x30e ), /* Offset= 782 (956) */
+/* 176 */ NdrFcLong( 0x4004 ), /* 16388 */
+/* 180 */ NdrFcShort( 0x30c ), /* Offset= 780 (960) */
+/* 182 */ NdrFcLong( 0x4005 ), /* 16389 */
+/* 186 */ NdrFcShort( 0x30a ), /* Offset= 778 (964) */
+/* 188 */ NdrFcLong( 0x400b ), /* 16395 */
+/* 192 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (948) */
+/* 194 */ NdrFcLong( 0x400a ), /* 16394 */
+/* 198 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (952) */
+/* 200 */ NdrFcLong( 0x4006 ), /* 16390 */
+/* 204 */ NdrFcShort( 0x2fc ), /* Offset= 764 (968) */
+/* 206 */ NdrFcLong( 0x4007 ), /* 16391 */
+/* 210 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (964) */
+/* 212 */ NdrFcLong( 0x4008 ), /* 16392 */
+/* 216 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (972) */
+/* 218 */ NdrFcLong( 0x400d ), /* 16397 */
+/* 222 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (976) */
+/* 224 */ NdrFcLong( 0x4009 ), /* 16393 */
+/* 228 */ NdrFcShort( 0x2f0 ), /* Offset= 752 (980) */
+/* 230 */ NdrFcLong( 0x6000 ), /* 24576 */
+/* 234 */ NdrFcShort( 0x2ee ), /* Offset= 750 (984) */
+/* 236 */ NdrFcLong( 0x400c ), /* 16396 */
+/* 240 */ NdrFcShort( 0x2ec ), /* Offset= 748 (988) */
+/* 242 */ NdrFcLong( 0x10 ), /* 16 */
+/* 246 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
+/* 248 */ NdrFcLong( 0x12 ), /* 18 */
+/* 252 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 254 */ NdrFcLong( 0x13 ), /* 19 */
+/* 258 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 260 */ NdrFcLong( 0x15 ), /* 21 */
+/* 264 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 266 */ NdrFcLong( 0x16 ), /* 22 */
+/* 270 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 272 */ NdrFcLong( 0x17 ), /* 23 */
+/* 276 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 278 */ NdrFcLong( 0xe ), /* 14 */
+/* 282 */ NdrFcShort( 0x2ca ), /* Offset= 714 (996) */
+/* 284 */ NdrFcLong( 0x400e ), /* 16398 */
+/* 288 */ NdrFcShort( 0x2ce ), /* Offset= 718 (1006) */
+/* 290 */ NdrFcLong( 0x4010 ), /* 16400 */
+/* 294 */ NdrFcShort( 0x2cc ), /* Offset= 716 (1010) */
+/* 296 */ NdrFcLong( 0x4012 ), /* 16402 */
+/* 300 */ NdrFcShort( 0x288 ), /* Offset= 648 (948) */
+/* 302 */ NdrFcLong( 0x4013 ), /* 16403 */
+/* 306 */ NdrFcShort( 0x286 ), /* Offset= 646 (952) */
+/* 308 */ NdrFcLong( 0x4015 ), /* 16405 */
+/* 312 */ NdrFcShort( 0x284 ), /* Offset= 644 (956) */
+/* 314 */ NdrFcLong( 0x4016 ), /* 16406 */
+/* 318 */ NdrFcShort( 0x27a ), /* Offset= 634 (952) */
+/* 320 */ NdrFcLong( 0x4017 ), /* 16407 */
+/* 324 */ NdrFcShort( 0x274 ), /* Offset= 628 (952) */
+/* 326 */ NdrFcLong( 0x0 ), /* 0 */
+/* 330 */ NdrFcShort( 0x0 ), /* Offset= 0 (330) */
+/* 332 */ NdrFcLong( 0x1 ), /* 1 */
+/* 336 */ NdrFcShort( 0x0 ), /* Offset= 0 (336) */
+/* 338 */ NdrFcShort( 0xffff ), /* Offset= -1 (337) */
+/* 340 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 342 */ NdrFcShort( 0x8 ), /* 8 */
+/* 344 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 346 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 348 */ NdrFcLong( 0x0 ), /* 0 */
+/* 352 */ NdrFcShort( 0x0 ), /* 0 */
+/* 354 */ NdrFcShort( 0x0 ), /* 0 */
+/* 356 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 358 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 360 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 362 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 364 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 366 */ NdrFcLong( 0x20400 ), /* 132096 */
+/* 370 */ NdrFcShort( 0x0 ), /* 0 */
+/* 372 */ NdrFcShort( 0x0 ), /* 0 */
+/* 374 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 376 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 378 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 380 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 382 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 384 */ NdrFcShort( 0x2 ), /* Offset= 2 (386) */
+/* 386 */
+ 0x12, 0x0, /* FC_UP */
+/* 388 */ NdrFcShort( 0x216 ), /* Offset= 534 (922) */
+/* 390 */
+ 0x2a, /* FC_ENCAPSULATED_UNION */
+ 0x49, /* 73 */
+/* 392 */ NdrFcShort( 0x18 ), /* 24 */
+/* 394 */ NdrFcShort( 0xa ), /* 10 */
+/* 396 */ NdrFcLong( 0x8 ), /* 8 */
+/* 400 */ NdrFcShort( 0x5a ), /* Offset= 90 (490) */
+/* 402 */ NdrFcLong( 0xd ), /* 13 */
+/* 406 */ NdrFcShort( 0x7e ), /* Offset= 126 (532) */
+/* 408 */ NdrFcLong( 0x9 ), /* 9 */
+/* 412 */ NdrFcShort( 0x9e ), /* Offset= 158 (570) */
+/* 414 */ NdrFcLong( 0xc ), /* 12 */
+/* 418 */ NdrFcShort( 0xc8 ), /* Offset= 200 (618) */
+/* 420 */ NdrFcLong( 0x24 ), /* 36 */
+/* 424 */ NdrFcShort( 0x124 ), /* Offset= 292 (716) */
+/* 426 */ NdrFcLong( 0x800d ), /* 32781 */
+/* 430 */ NdrFcShort( 0x140 ), /* Offset= 320 (750) */
+/* 432 */ NdrFcLong( 0x10 ), /* 16 */
+/* 436 */ NdrFcShort( 0x15a ), /* Offset= 346 (782) */
+/* 438 */ NdrFcLong( 0x2 ), /* 2 */
+/* 442 */ NdrFcShort( 0x174 ), /* Offset= 372 (814) */
+/* 444 */ NdrFcLong( 0x3 ), /* 3 */
+/* 448 */ NdrFcShort( 0x18e ), /* Offset= 398 (846) */
+/* 450 */ NdrFcLong( 0x14 ), /* 20 */
+/* 454 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (878) */
+/* 456 */ NdrFcShort( 0xffff ), /* Offset= -1 (455) */
+/* 458 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 460 */ NdrFcShort( 0x4 ), /* 4 */
+/* 462 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 464 */ NdrFcShort( 0x0 ), /* 0 */
+/* 466 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 468 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 470 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 472 */ NdrFcShort( 0x4 ), /* 4 */
+/* 474 */ NdrFcShort( 0x0 ), /* 0 */
+/* 476 */ NdrFcShort( 0x1 ), /* 1 */
+/* 478 */ NdrFcShort( 0x0 ), /* 0 */
+/* 480 */ NdrFcShort( 0x0 ), /* 0 */
+/* 482 */ 0x12, 0x0, /* FC_UP */
+/* 484 */ NdrFcShort( 0xfe2e ), /* Offset= -466 (18) */
+/* 486 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 488 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 490 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 492 */ NdrFcShort( 0x8 ), /* 8 */
+/* 494 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 496 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 498 */ NdrFcShort( 0x4 ), /* 4 */
+/* 500 */ NdrFcShort( 0x4 ), /* 4 */
+/* 502 */ 0x11, 0x0, /* FC_RP */
+/* 504 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (458) */
+/* 506 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 508 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 510 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 512 */ NdrFcShort( 0x0 ), /* 0 */
+/* 514 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 516 */ NdrFcShort( 0x0 ), /* 0 */
+/* 518 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 520 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 524 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 526 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 528 */ NdrFcShort( 0xff4a ), /* Offset= -182 (346) */
+/* 530 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 532 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 534 */ NdrFcShort( 0x8 ), /* 8 */
+/* 536 */ NdrFcShort( 0x0 ), /* 0 */
+/* 538 */ NdrFcShort( 0x6 ), /* Offset= 6 (544) */
+/* 540 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 542 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 544 */
+ 0x11, 0x0, /* FC_RP */
+/* 546 */ NdrFcShort( 0xffdc ), /* Offset= -36 (510) */
+/* 548 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 550 */ NdrFcShort( 0x0 ), /* 0 */
+/* 552 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 554 */ NdrFcShort( 0x0 ), /* 0 */
+/* 556 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 558 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 562 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 564 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 566 */ NdrFcShort( 0xff36 ), /* Offset= -202 (364) */
+/* 568 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 570 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 572 */ NdrFcShort( 0x8 ), /* 8 */
+/* 574 */ NdrFcShort( 0x0 ), /* 0 */
+/* 576 */ NdrFcShort( 0x6 ), /* Offset= 6 (582) */
+/* 578 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 580 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 582 */
+ 0x11, 0x0, /* FC_RP */
+/* 584 */ NdrFcShort( 0xffdc ), /* Offset= -36 (548) */
+/* 586 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 588 */ NdrFcShort( 0x4 ), /* 4 */
+/* 590 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 592 */ NdrFcShort( 0x0 ), /* 0 */
+/* 594 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 596 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 598 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 600 */ NdrFcShort( 0x4 ), /* 4 */
+/* 602 */ NdrFcShort( 0x0 ), /* 0 */
+/* 604 */ NdrFcShort( 0x1 ), /* 1 */
+/* 606 */ NdrFcShort( 0x0 ), /* 0 */
+/* 608 */ NdrFcShort( 0x0 ), /* 0 */
+/* 610 */ 0x12, 0x0, /* FC_UP */
+/* 612 */ NdrFcShort( 0x192 ), /* Offset= 402 (1014) */
+/* 614 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 616 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 618 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 620 */ NdrFcShort( 0x8 ), /* 8 */
+/* 622 */ NdrFcShort( 0x0 ), /* 0 */
+/* 624 */ NdrFcShort( 0x6 ), /* Offset= 6 (630) */
+/* 626 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 628 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 630 */
+ 0x11, 0x0, /* FC_RP */
+/* 632 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (586) */
+/* 634 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 636 */ NdrFcLong( 0x2f ), /* 47 */
+/* 640 */ NdrFcShort( 0x0 ), /* 0 */
+/* 642 */ NdrFcShort( 0x0 ), /* 0 */
+/* 644 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 646 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 648 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 650 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 652 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 654 */ NdrFcShort( 0x1 ), /* 1 */
+/* 656 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 658 */ NdrFcShort( 0x4 ), /* 4 */
+/* 660 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 662 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 664 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 666 */ NdrFcShort( 0x10 ), /* 16 */
+/* 668 */ NdrFcShort( 0x0 ), /* 0 */
+/* 670 */ NdrFcShort( 0xa ), /* Offset= 10 (680) */
+/* 672 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 674 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 676 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (634) */
+/* 678 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 680 */
+ 0x12, 0x0, /* FC_UP */
+/* 682 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (652) */
+/* 684 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 686 */ NdrFcShort( 0x4 ), /* 4 */
+/* 688 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 690 */ NdrFcShort( 0x0 ), /* 0 */
+/* 692 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 694 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 696 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 698 */ NdrFcShort( 0x4 ), /* 4 */
+/* 700 */ NdrFcShort( 0x0 ), /* 0 */
+/* 702 */ NdrFcShort( 0x1 ), /* 1 */
+/* 704 */ NdrFcShort( 0x0 ), /* 0 */
+/* 706 */ NdrFcShort( 0x0 ), /* 0 */
+/* 708 */ 0x12, 0x0, /* FC_UP */
+/* 710 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (664) */
+/* 712 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 714 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 716 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 718 */ NdrFcShort( 0x8 ), /* 8 */
+/* 720 */ NdrFcShort( 0x0 ), /* 0 */
+/* 722 */ NdrFcShort( 0x6 ), /* Offset= 6 (728) */
+/* 724 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 726 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 728 */
+ 0x11, 0x0, /* FC_RP */
+/* 730 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (684) */
+/* 732 */
+ 0x1d, /* FC_SMFARRAY */
+ 0x0, /* 0 */
+/* 734 */ NdrFcShort( 0x8 ), /* 8 */
+/* 736 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 738 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 740 */ NdrFcShort( 0x10 ), /* 16 */
+/* 742 */ 0x8, /* FC_LONG */
+ 0x6, /* FC_SHORT */
+/* 744 */ 0x6, /* FC_SHORT */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 746 */ 0x0, /* 0 */
+ NdrFcShort( 0xfff1 ), /* Offset= -15 (732) */
+ 0x5b, /* FC_END */
+/* 750 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 752 */ NdrFcShort( 0x18 ), /* 24 */
+/* 754 */ NdrFcShort( 0x0 ), /* 0 */
+/* 756 */ NdrFcShort( 0xa ), /* Offset= 10 (766) */
+/* 758 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 760 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 762 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (738) */
+/* 764 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 766 */
+ 0x11, 0x0, /* FC_RP */
+/* 768 */ NdrFcShort( 0xfefe ), /* Offset= -258 (510) */
+/* 770 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 772 */ NdrFcShort( 0x1 ), /* 1 */
+/* 774 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 776 */ NdrFcShort( 0x0 ), /* 0 */
+/* 778 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 780 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 782 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 784 */ NdrFcShort( 0x8 ), /* 8 */
+/* 786 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 788 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 790 */ NdrFcShort( 0x4 ), /* 4 */
+/* 792 */ NdrFcShort( 0x4 ), /* 4 */
+/* 794 */ 0x12, 0x0, /* FC_UP */
+/* 796 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (770) */
+/* 798 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 800 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 802 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 804 */ NdrFcShort( 0x2 ), /* 2 */
+/* 806 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 808 */ NdrFcShort( 0x0 ), /* 0 */
+/* 810 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 812 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 814 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 816 */ NdrFcShort( 0x8 ), /* 8 */
+/* 818 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 820 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 822 */ NdrFcShort( 0x4 ), /* 4 */
+/* 824 */ NdrFcShort( 0x4 ), /* 4 */
+/* 826 */ 0x12, 0x0, /* FC_UP */
+/* 828 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (802) */
+/* 830 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 832 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 834 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 836 */ NdrFcShort( 0x4 ), /* 4 */
+/* 838 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 840 */ NdrFcShort( 0x0 ), /* 0 */
+/* 842 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 844 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 846 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 848 */ NdrFcShort( 0x8 ), /* 8 */
+/* 850 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 852 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 854 */ NdrFcShort( 0x4 ), /* 4 */
+/* 856 */ NdrFcShort( 0x4 ), /* 4 */
+/* 858 */ 0x12, 0x0, /* FC_UP */
+/* 860 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (834) */
+/* 862 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 864 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 866 */
+ 0x1b, /* FC_CARRAY */
+ 0x7, /* 7 */
+/* 868 */ NdrFcShort( 0x8 ), /* 8 */
+/* 870 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 872 */ NdrFcShort( 0x0 ), /* 0 */
+/* 874 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 876 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 878 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 880 */ NdrFcShort( 0x8 ), /* 8 */
+/* 882 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 884 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 886 */ NdrFcShort( 0x4 ), /* 4 */
+/* 888 */ NdrFcShort( 0x4 ), /* 4 */
+/* 890 */ 0x12, 0x0, /* FC_UP */
+/* 892 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (866) */
+/* 894 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 896 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 898 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 900 */ NdrFcShort( 0x8 ), /* 8 */
+/* 902 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 904 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 906 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 908 */ NdrFcShort( 0x8 ), /* 8 */
+/* 910 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 912 */ NdrFcShort( 0xffd8 ), /* -40 */
+/* 914 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 916 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 918 */ NdrFcShort( 0xffec ), /* Offset= -20 (898) */
+/* 920 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 922 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 924 */ NdrFcShort( 0x28 ), /* 40 */
+/* 926 */ NdrFcShort( 0xffec ), /* Offset= -20 (906) */
+/* 928 */ NdrFcShort( 0x0 ), /* Offset= 0 (928) */
+/* 930 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 932 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 934 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 936 */ NdrFcShort( 0xfdde ), /* Offset= -546 (390) */
+/* 938 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 940 */
+ 0x12, 0x0, /* FC_UP */
+/* 942 */ NdrFcShort( 0xfeea ), /* Offset= -278 (664) */
+/* 944 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 946 */ 0x1, /* FC_BYTE */
+ 0x5c, /* FC_PAD */
+/* 948 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 950 */ 0x6, /* FC_SHORT */
+ 0x5c, /* FC_PAD */
+/* 952 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 954 */ 0x8, /* FC_LONG */
+ 0x5c, /* FC_PAD */
+/* 956 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 958 */ 0xb, /* FC_HYPER */
+ 0x5c, /* FC_PAD */
+/* 960 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 962 */ 0xa, /* FC_FLOAT */
+ 0x5c, /* FC_PAD */
+/* 964 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 966 */ 0xc, /* FC_DOUBLE */
+ 0x5c, /* FC_PAD */
+/* 968 */
+ 0x12, 0x0, /* FC_UP */
+/* 970 */ NdrFcShort( 0xfd8a ), /* Offset= -630 (340) */
+/* 972 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 974 */ NdrFcShort( 0xfc34 ), /* Offset= -972 (2) */
+/* 976 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 978 */ NdrFcShort( 0xfd88 ), /* Offset= -632 (346) */
+/* 980 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 982 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (364) */
+/* 984 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 986 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (382) */
+/* 988 */
+ 0x12, 0x10, /* FC_UP [pointer_deref] */
+/* 990 */ NdrFcShort( 0x2 ), /* Offset= 2 (992) */
+/* 992 */
+ 0x12, 0x0, /* FC_UP */
+/* 994 */ NdrFcShort( 0x14 ), /* Offset= 20 (1014) */
+/* 996 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 998 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1000 */ 0x6, /* FC_SHORT */
+ 0x1, /* FC_BYTE */
+/* 1002 */ 0x1, /* FC_BYTE */
+ 0x8, /* FC_LONG */
+/* 1004 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 1006 */
+ 0x12, 0x0, /* FC_UP */
+/* 1008 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (996) */
+/* 1010 */
+ 0x12, 0x8, /* FC_UP [simple_pointer] */
+/* 1012 */ 0x2, /* FC_CHAR */
+ 0x5c, /* FC_PAD */
+/* 1014 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x7, /* 7 */
+/* 1016 */ NdrFcShort( 0x20 ), /* 32 */
+/* 1018 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1020 */ NdrFcShort( 0x0 ), /* Offset= 0 (1020) */
+/* 1022 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1024 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1026 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1028 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1030 */ NdrFcShort( 0xfc24 ), /* Offset= -988 (42) */
+/* 1032 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1034 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 1036 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1038 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1040 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1042 */ NdrFcShort( 0xfc14 ), /* Offset= -1004 (38) */
+/* 1044 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1046 */ NdrFcShort( 0x2 ), /* Offset= 2 (1048) */
+/* 1048 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 1050 */ NdrFcLong( 0x151857b2 ), /* 353916850 */
+/* 1054 */ NdrFcShort( 0x26e0 ), /* 9952 */
+/* 1056 */ NdrFcShort( 0x4f4d ), /* 20301 */
+/* 1058 */ 0xac, /* 172 */
+ 0xed, /* 237 */
+/* 1060 */ 0x4f, /* 79 */
+ 0x7e, /* 126 */
+/* 1062 */ 0x4b, /* 75 */
+ 0x20, /* 32 */
+/* 1064 */ 0x65, /* 101 */
+ 0xef, /* 239 */
+/* 1066 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1068 */ NdrFcShort( 0xfd40 ), /* Offset= -704 (364) */
+
+ 0x0
+ }
+ };
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
+ {
+
+ {
+ BSTR_UserSize
+ ,BSTR_UserMarshal
+ ,BSTR_UserUnmarshal
+ ,BSTR_UserFree
+ },
+ {
+ VARIANT_UserSize
+ ,VARIANT_UserMarshal
+ ,VARIANT_UserUnmarshal
+ ,VARIANT_UserFree
+ }
+
+ };
+
+
+
+/* Standard interface: __MIDL_itf_GoogleDesktopSearchAPI_0000, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IUnknown, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+ GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IGoogleDesktopSearchComponentRegistration, ver. 0.0,
+ GUID={0x151857B2,0x26E0,0x4f4d,{0xAC,0xED,0x4F,0x7E,0x4B,0x20,0x65,0xEF}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IGoogleDesktopSearchComponentRegistration_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 0
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchComponentRegistration_ProxyInfo =
+ {
+ &Object_StubDesc,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchComponentRegistration_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IGoogleDesktopSearchComponentRegistration_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchComponentRegistration_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(8) _IGoogleDesktopSearchComponentRegistrationProxyVtbl =
+{
+ &IGoogleDesktopSearchComponentRegistration_ProxyInfo,
+ &IID_IGoogleDesktopSearchComponentRegistration,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfo */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchComponentRegistration::RegisterExtension */
+};
+
+
+static const PRPC_STUB_FUNCTION IGoogleDesktopSearchComponentRegistration_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IGoogleDesktopSearchComponentRegistrationStubVtbl =
+{
+ &IID_IGoogleDesktopSearchComponentRegistration,
+ &IGoogleDesktopSearchComponentRegistration_ServerInfo,
+ 8,
+ &IGoogleDesktopSearchComponentRegistration_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Object interface: IGoogleDesktopSearchComponentRegister, ver. 0.0,
+ GUID={0x9B311E80,0xBC95,0x4518,{0xA5,0x8C,0x44,0x6E,0xC9,0xA0,0x82,0xB5}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IGoogleDesktopSearchComponentRegister_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 36,
+ 84
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchComponentRegister_ProxyInfo =
+ {
+ &Object_StubDesc,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchComponentRegister_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IGoogleDesktopSearchComponentRegister_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchComponentRegister_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(9) _IGoogleDesktopSearchComponentRegisterProxyVtbl =
+{
+ &IGoogleDesktopSearchComponentRegister_ProxyInfo,
+ &IID_IGoogleDesktopSearchComponentRegister,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfo */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchComponentRegister::RegisterComponent */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchComponentRegister::UnregisterComponent */
+};
+
+
+static const PRPC_STUB_FUNCTION IGoogleDesktopSearchComponentRegister_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IGoogleDesktopSearchComponentRegisterStubVtbl =
+{
+ &IID_IGoogleDesktopSearchComponentRegister,
+ &IGoogleDesktopSearchComponentRegister_ServerInfo,
+ 9,
+ &IGoogleDesktopSearchComponentRegister_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Object interface: IGoogleDesktopSearchEvent, ver. 0.0,
+ GUID={0xBDAC0047,0x4759,0x43a1,{0xBA,0x04,0xB1,0x48,0xE1,0x67,0x9E,0x87}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IGoogleDesktopSearchEvent_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 120,
+ 162
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchEvent_ProxyInfo =
+ {
+ &Object_StubDesc,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchEvent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IGoogleDesktopSearchEvent_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchEvent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(9) _IGoogleDesktopSearchEventProxyVtbl =
+{
+ &IGoogleDesktopSearchEvent_ProxyInfo,
+ &IID_IGoogleDesktopSearchEvent,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfo */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchEvent::AddProperty */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchEvent::Send */
+};
+
+
+static const PRPC_STUB_FUNCTION IGoogleDesktopSearchEvent_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IGoogleDesktopSearchEventStubVtbl =
+{
+ &IID_IGoogleDesktopSearchEvent,
+ &IGoogleDesktopSearchEvent_ServerInfo,
+ 9,
+ &IGoogleDesktopSearchEvent_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Object interface: IGoogleDesktopSearchEventFactory, ver. 0.0,
+ GUID={0xA79E51C6,0xDB2D,0x4a44,{0x84,0x8E,0xA8,0xEB,0xB2,0x2E,0x53,0x37}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IGoogleDesktopSearchEventFactory_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 198
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IGoogleDesktopSearchEventFactory_ProxyInfo =
+ {
+ &Object_StubDesc,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchEventFactory_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IGoogleDesktopSearchEventFactory_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDL_ProcFormatString.Format,
+ &IGoogleDesktopSearchEventFactory_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(8) _IGoogleDesktopSearchEventFactoryProxyVtbl =
+{
+ &IGoogleDesktopSearchEventFactory_ProxyInfo,
+ &IID_IGoogleDesktopSearchEventFactory,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetTypeInfo */ ,
+ 0 /* (void *) (INT_PTR) -1 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ (void *) (INT_PTR) -1 /* IGoogleDesktopSearchEventFactory::CreateEvent */
+};
+
+
+static const PRPC_STUB_FUNCTION IGoogleDesktopSearchEventFactory_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IGoogleDesktopSearchEventFactoryStubVtbl =
+{
+ &IID_IGoogleDesktopSearchEventFactory,
+ &IGoogleDesktopSearchEventFactory_ServerInfo,
+ 8,
+ &IGoogleDesktopSearchEventFactory_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+static const MIDL_STUB_DESC Object_StubDesc =
+ {
+ 0,
+ NdrOleAllocate,
+ NdrOleFree,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ __MIDL_TypeFormatString.Format,
+ 1, /* -error bounds_check flag */
+ 0x50002, /* Ndr library version */
+ 0,
+ 0x6000169, /* MIDL Version 6.0.361 */
+ 0,
+ UserMarshalRoutines,
+ 0, /* notify & notify_flag routine table */
+ 0x1, /* MIDL flag */
+ 0, /* cs routines */
+ 0, /* proxy/server info */
+ 0 /* Reserved5 */
+ };
+
+const CInterfaceProxyVtbl * _GoogleDesktopSearchAPI_ProxyVtblList[] =
+{
+ ( CInterfaceProxyVtbl *) &_IGoogleDesktopSearchEventProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IGoogleDesktopSearchComponentRegisterProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IGoogleDesktopSearchComponentRegistrationProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IGoogleDesktopSearchEventFactoryProxyVtbl,
+ 0
+};
+
+const CInterfaceStubVtbl * _GoogleDesktopSearchAPI_StubVtblList[] =
+{
+ ( CInterfaceStubVtbl *) &_IGoogleDesktopSearchEventStubVtbl,
+ ( CInterfaceStubVtbl *) &_IGoogleDesktopSearchComponentRegisterStubVtbl,
+ ( CInterfaceStubVtbl *) &_IGoogleDesktopSearchComponentRegistrationStubVtbl,
+ ( CInterfaceStubVtbl *) &_IGoogleDesktopSearchEventFactoryStubVtbl,
+ 0
+};
+
+PCInterfaceName const _GoogleDesktopSearchAPI_InterfaceNamesList[] =
+{
+ "IGoogleDesktopSearchEvent",
+ "IGoogleDesktopSearchComponentRegister",
+ "IGoogleDesktopSearchComponentRegistration",
+ "IGoogleDesktopSearchEventFactory",
+ 0
+};
+
+const IID * _GoogleDesktopSearchAPI_BaseIIDList[] =
+{
+ &IID_IDispatch,
+ &IID_IDispatch,
+ &IID_IDispatch,
+ &IID_IDispatch,
+ 0
+};
+
+
+#define _GoogleDesktopSearchAPI_CHECK_IID(n) IID_GENERIC_CHECK_IID( _GoogleDesktopSearchAPI, pIID, n)
+
+int __stdcall _GoogleDesktopSearchAPI_IID_Lookup( const IID * pIID, int * pIndex )
+{
+ IID_BS_LOOKUP_SETUP
+
+ IID_BS_LOOKUP_INITIAL_TEST( _GoogleDesktopSearchAPI, 4, 2 )
+ IID_BS_LOOKUP_NEXT_TEST( _GoogleDesktopSearchAPI, 1 )
+ IID_BS_LOOKUP_RETURN_RESULT( _GoogleDesktopSearchAPI, 4, *pIndex )
+
+}
+
+const ExtendedProxyFileInfo GoogleDesktopSearchAPI_ProxyFileInfo =
+{
+ (PCInterfaceProxyVtblList *) & _GoogleDesktopSearchAPI_ProxyVtblList,
+ (PCInterfaceStubVtblList *) & _GoogleDesktopSearchAPI_StubVtblList,
+ (const PCInterfaceName * ) & _GoogleDesktopSearchAPI_InterfaceNamesList,
+ (const IID ** ) & _GoogleDesktopSearchAPI_BaseIIDList,
+ & _GoogleDesktopSearchAPI_IID_Lookup,
+ 4,
+ 2,
+ 0, /* table of [async_uuid] interfaces */
+ 0, /* Filler1 */
+ 0, /* Filler2 */
+ 0 /* Filler3 */
+};
+#if _MSC_VER >= 1200
+#pragma warning(pop)
+#endif
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
+
Added: trunk/MatroskaUtils/GDC/common/dlldata.c
===================================================================
--- trunk/MatroskaUtils/GDC/common/dlldata.c 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/dlldata.c 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,38 @@
+/*********************************************************
+ DllData file -- generated by MIDL compiler
+
+ DO NOT ALTER THIS FILE
+
+ This file is regenerated by MIDL on every IDL file compile.
+
+ To completely reconstruct this file, delete it and rerun MIDL
+ on all the IDL files in this DLL, specifying this file for the
+ /dlldata command line option
+
+*********************************************************/
+
+#define PROXY_DELEGATION
+
+#include <rpcproxy.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_PROXY_FILE( GoogleDesktopSearchAPI )
+
+
+PROXYFILE_LIST_START
+/* Start of list */
+ REFERENCE_PROXY_FILE( GoogleDesktopSearchAPI ),
+/* End of list */
+PROXYFILE_LIST_END
+
+
+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+/* end of generated dlldata file */
Added: trunk/MatroskaUtils/GDC/common/stdafx.cpp
===================================================================
--- trunk/MatroskaUtils/GDC/common/stdafx.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/stdafx.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,5 @@
+// Copyright 2004 Google Inc
+// All rights reserved
+//
+#include "stdafx.h"
+#include "GoogleDesktopSearchAPI_i.c"
Added: trunk/MatroskaUtils/GDC/common/stdafx.h
===================================================================
--- trunk/MatroskaUtils/GDC/common/stdafx.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/GDC/common/stdafx.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,19 @@
+// Copyright 2004 Google Inc
+// All rights reserved
+
+#ifndef _STDAFX_H
+#define _STDAFX_H
+
+// Windows Header Files:
+#include <atlbase.h>
+#include <atlstr.h>
+// C RunTime Header Files
+#include <stdlib.h>
+#include <malloc.h>
+#include <memory.h>
+#include <tchar.h>
+
+// Reference additional headers your program requires here
+#include "GoogleDesktopSearchAPI.h"
+
+#endif
Added: trunk/MatroskaUtils/Jorys_Southern_I_gotta_go_get_me_some_of_there_Matroska_files.mp3
===================================================================
(Binary files differ)
Property changes on: trunk/MatroskaUtils/Jorys_Southern_I_gotta_go_get_me_some_of_there_Matroska_files.mp3
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.cpp
===================================================================
--- trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,119 @@
+/*
+ * Matroska Shell Extension
+ *
+ * MatroskaInfoParserCache.cpp
+ *
+ * Copyright (C) Jory Stone - June 2003 - December 2004
+ *
+ * The Matroska Shell Extension is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * The Matroska Shell Extension is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Matroska Shell Extension; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*!
+ \file MatroskaInfoParserCache.cpp
+ \version \$Id: MatroskaProp.cpp,v 1.39 2004/03/08 07:56:51 jcsston Exp $
+ \brief Lightweight caching Matroska Parser object list
+ \author Jory Stone <matroskaprop @ jory.info>
+
+*/
+
+#include "MatroskaInfoParserCache.h"
+
+MatroskaInfoParserCache::MatroskaInfoParserCache()
+{
+ m_First = new MatroskaInfoParserCacheEntry;
+ m_First->parser = NULL;
+ m_First->next = NULL;
+ m_Last = m_First;
+ m_CacheCount = 0;
+
+ //Load the ParserCacheLimit
+ m_CacheLimit = MatroskaShellExt_GetRegistryValue(_T("Parser Cache Limit"), 7);
+ if ((m_CacheLimit > 255) || (m_CacheLimit < 1))
+ //Out of range, using default 7
+ m_CacheLimit = 7;
+
+}
+
+MatroskaInfoParserCache::~MatroskaInfoParserCache()
+{
+ while (m_Last != NULL) {
+ m_Last = m_First->next;
+ delete m_First->parser;
+ delete m_First;
+ m_First = m_Last;
+ }
+}
+
+void MatroskaInfoParserCache::AddParser(MatroskaInfoParser *parser)
+{
+ NOTE1("MatroskaInfoParserCache::AddParser(parser = %p)", parser);
+ if (m_CacheCount > m_CacheLimit) {
+ // Reuse the first entry
+ m_Last->next = m_First;
+ m_Last = m_First;
+ delete m_First->parser;
+ m_First = m_Last->next;
+ // This line is not really needed, because it's repeated a few line below
+ //m_Last->next = NULL;
+ m_CacheCount--;
+ } else {
+ // Alloc a new entry
+ m_Last->next = new MatroskaInfoParserCacheEntry;
+ m_Last = m_Last->next;
+ }
+ m_Last->parser = parser;
+ m_Last->next = NULL;
+
+ m_CacheCount++;
+#ifdef DEBUG
+ OutputList();
+#endif
+}
+
+MatroskaInfoParser *MatroskaInfoParserCache::Lookup(const wchar_t *filename)
+{
+ NOTE1("MatroskaInfoParserCache::Lookup(filename = %S)", filename);
+
+ MatroskaInfoParserCacheEntry *temp = m_First;
+
+ while (temp != NULL) {
+ if ((temp->parser != NULL) && !wcscmp(filename, temp->parser->GetFilename()))
+ return temp->parser;
+
+ temp = temp->next;
+ }
+
+ return NULL;
+}
+
+#ifdef DEBUG
+void MatroskaInfoParserCache::OutputList()
+{
+ int i = 0;
+ MatroskaInfoParserCacheEntry *temp = m_First;
+
+ NOTE("MatroskaInfoParserCache Report");
+ NOTE("==============================");
+ while (temp != NULL) {
+ i++;
+ if (temp->parser != NULL)
+ NOTE2("%i : %S", i, temp->parser->GetFilename());
+
+ temp = temp->next;
+ }
+ NOTE("==============================");
+}
+#endif
Added: trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.h
===================================================================
--- trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/ShellExtension/MatroskaInfoParserCache.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,60 @@
+/*
+ * Matroska Shell Extension
+ *
+ * MatroskaInfoParserCache.h
+ *
+ * Copyright (C) Jory Stone - June 2003 - December 2004
+ *
+ * The Matroska Shell Extension is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * The Matroska Shell Extension is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Matroska Shell Extension; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*!
+ \file MatroskaInfoParserCache.h
+ \version \$Id: MatroskaProp.cpp,v 1.39 2004/03/08 07:56:51 jcsston Exp $
+ \brief Lightweight caching Matroska Parser object list
+ \author Jory Stone <matroskaprop @ jory.info>
+
+*/
+
+#ifndef _MATROSKA_INFO_PARSER_CACHE_H_
+#define _MATROSKA_INFO_PARSER_CACHE_H_
+
+#include <windows.h>
+#include "MatroskaPages.h"
+
+class MatroskaInfoParserCache {
+public:
+ MatroskaInfoParserCache();
+ ~MatroskaInfoParserCache();
+
+ void AddParser(MatroskaInfoParser *parser);
+ MatroskaInfoParser *Lookup(const wchar_t *filename);
+
+#ifdef DEBUG
+ void OutputList();
+#endif
+protected:
+ int m_CacheCount;
+ int m_CacheLimit;
+ struct MatroskaInfoParserCacheEntry {
+ MatroskaInfoParser *parser;
+ MatroskaInfoParserCacheEntry *next;
+ };
+ MatroskaInfoParserCacheEntry *m_First;
+ MatroskaInfoParserCacheEntry *m_Last;
+};
+
+#endif // _MATROSKA_INFO_PARSER_CACHE_H_
Deleted: trunk/MatroskaUtils/ShellExtension/MatroskaProp.dsp
Deleted: trunk/MatroskaUtils/ShellExtension/MatroskaProp.dsw
Added: trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.cpp
===================================================================
--- trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,51 @@
+/*
+ * Matroska Shell Extension
+ *
+ * MatroskaPropShellExtension.cpp
+ *
+ * Copyright (C) Jory Stone - June 2003
+ *
+ * The idea was based from ImgSize by Victor Sapojnikov
+ *
+ * The Matroska Shell Extension is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * The Matroska Shell Extension is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Matroska Shell Extension; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*!
+ \file MatroskaPropShellExtension.cpp
+ \version \$Id: MatroskaProp.cpp,v 1.39 2004/03/08 07:56:51 jcsston Exp $
+ \brief This is the meat code of the Matroska Shell Extension ;)
+ \author Jory Stone <jcsston @ toughguy.net>
+
+*/
+
+//Memory Leak Debuging define
+#ifdef _DEBUG
+//#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#endif
+
+#include "MatroskaPropShellExtension.h"
+
+MatroskaPropShellExtension::MatroskaPropShellExtension()
+{
+
+}
+
+MatroskaPropShellExtension::~MatroskaPropShellExtension()
+{
+
+}
\ No newline at end of file
Added: trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.h
===================================================================
--- trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.h 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/ShellExtension/MatroskaPropShellExtension.h 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,43 @@
+/*
+ * Matroska Shell Extension
+ *
+ * MatroskaProp.h
+ *
+ * Copyright (C) Jory Stone - June 2003
+ *
+ * The Matroska Shell Extension is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * The Matroska Shell Extension is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Matroska Shell Extension; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*!
+ \file MatroskaProp.h
+ \version \$Id: MatroskaProp.h,v 1.22 2004/03/07 08:08:49 jcsston Exp $
+ \brief This is the meat code of the Matroska Shell Extension
+ \author Jory Stone <jcsston @ toughguy.net>
+
+*/
+
+#ifndef _MATROSKA_PROP_SHELL_EXTENSION_H
+#define _MATROSKA_PROP_SHELL_EXTENSION_H
+
+#include <windows.h>
+
+class MatroskaPropShellExtension {
+public:
+ MatroskaPropShellExtension();
+ virtual ~MatroskaPropShellExtension();
+};
+
+#endif // _MATROSKA_PROP_SHELL_EXTENSION_H
Added: trunk/MatroskaUtils/resource.cpp
===================================================================
--- trunk/MatroskaUtils/resource.cpp 2005-03-25 17:14:08 UTC (rev 1108)
+++ trunk/MatroskaUtils/resource.cpp 2005-03-25 17:27:44 UTC (rev 1109)
@@ -0,0 +1,5 @@
+#include "resource.h"
+
+long g_MyVersionMajor = RESOURCE_VERSION_MAJOR;
+long g_MyVersionMinor = RESOURCE_VERSION_MINOR;
+long g_MyBuildNumber = RESOURCE_VERSION_BUILD;
Property changes on: trunk/MatroskaUtils/tinyxml
___________________________________________________________________
Name: svn:ignore
+ Debug
Release
Deleted: trunk/MatroskaUtils/tinyxml/TinyXml.dsp
Deleted: trunk/MatroskaUtils/tinyxml/TinyXml.dsw