- Timestamp:
- Feb 11, 2012, 2:26:24 PM (12 years ago)
- Location:
- trunk/Utilities/MaxMindGeoLite
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Utilities/MaxMindGeoLite
- Property svn:ignore
-
old new 3 3 *.suo 4 4 *.sdf 5 *.opensdf
-
- Property svn:ignore
-
trunk/Utilities/MaxMindGeoLite/Location.h
r47 r48 230 230 231 231 //////////////////////////////////////////////////////////// 232 // CFreeThreadedMarshaler 233 234 class CFreeThreadedMarshaler 235 { 236 private: 237 CComPtr<IUnknown> m_pMarshalerUnknown; 238 CComPtr<IMarshal> m_pMarshalerMarshal; 239 240 public: 241 // CFreeThreadedMarshaler 242 const CComPtr<IMarshal>& operator -> () const throw() 243 { 244 return GetMarshal(); 245 } 246 VOID Initialize() 247 { 248 _A(!m_pMarshalerUnknown && !m_pMarshalerMarshal); 249 __C(CoCreateFreeThreadedMarshaler(NULL, &m_pMarshalerUnknown)); 250 m_pMarshalerMarshal = m_pMarshalerUnknown; 251 __D(m_pMarshalerMarshal, E_NOINTERFACE); 252 } 253 VOID Terminate() throw() 254 { 255 m_pMarshalerMarshal = NULL; 256 m_pMarshalerUnknown = NULL; 257 } 258 const CComPtr<IMarshal>& GetMarshal() const throw() 259 { 260 return m_pMarshalerMarshal; 261 } 262 }; 263 264 //////////////////////////////////////////////////////////// 232 265 // CLocations 233 266 … … 235 268 public CComObjectRootEx<CComMultiThreadModelNoCS>, 236 269 public CComCoClass<CLocations, &__uuidof(Locations)>, 237 public CBasePersistT<CLocations>,238 //public IRoPersistStreamInitT<CLocations>,239 //public IRoPersistStorageT<CLocations>,240 //public IRoPersistPropertyBagT<CLocations>,241 //public IRoSpecifyPropertyPagesT<CLocations>,242 270 public IDispatchImpl<ILocations> 243 271 { … … 247 275 //DECLARE_REGISTRY_RESOURCEID(IDR) 248 276 277 DECLARE_CLASSFACTORY_SINGLETON(CLocations) 278 249 279 DECLARE_PROTECT_FINAL_CONSTRUCT() 250 280 251 281 BEGIN_COM_MAP(CLocations) 252 //COM_INTERFACE_ENTRY_IID(__uuidof(IPersist), IPersistStreamInit)253 //COM_INTERFACE_ENTRY_IID(__uuidof(IPersistStream), IPersistStreamInit)254 //COM_INTERFACE_ENTRY(IPersistStreamInit)255 //COM_INTERFACE_ENTRY(IPersistStorage)256 //COM_INTERFACE_ENTRY(IPersistPropertyBag)257 //COM_INTERFACE_ENTRY(ISpecifyPropertyPages)258 282 COM_INTERFACE_ENTRY(ILocations) 259 283 COM_INTERFACE_ENTRY(IDispatch) 284 COM_INTERFACE_ENTRY_AGGREGATE(__uuidof(IMarshal), m_FreeThreadedMarshaler) 260 285 END_COM_MAP() 261 262 BEGIN_PROP_MAP(CLocations)263 END_PROP_MAP()264 286 265 287 public: … … 427 449 private: 428 450 CWindowsSockets2 m_Sockets; 429 C RequiresSave m_bRequiresSave;430 mutable CRoCriticalSection m_DataCriticalSection;451 CFreeThreadedMarshaler m_FreeThreadedMarshaler; 452 //mutable CRoCriticalSection m_DataCriticalSection; 431 453 GeoLiteCity::CLocationArray m_LocationArray; 432 454 GeoLiteCity::CBlockArray m_BlockArray; … … 451 473 return S_OK; 452 474 } 453 CLocations() throw() : 454 CBasePersistT<CLocations>(m_DataCriticalSection), 455 m_bRequiresSave(m_DataCriticalSection) 475 CLocations() throw() 456 476 { 457 477 _Z4(atlTraceRefcount, 4, _T("this 0x%p\n"), this); … … 466 486 { 467 487 __C(m_Sockets.GetStartupResult()); 488 m_FreeThreadedMarshaler.Initialize(); 468 489 Initialize(); 469 490 } … … 476 497 VOID FinalRelease() throw() 477 498 { 499 m_FreeThreadedMarshaler.Terminate(); 478 500 } 479 501 VOID Initialize() … … 490 512 } 491 513 492 // ILocation 514 // ILocations 493 515 STDMETHOD(get_Item)(VARIANT vIndex, ILocation** ppLocation) throw() 494 516 { … … 529 551 530 552 OBJECT_ENTRY_AUTO(__uuidof(Locations), CLocations) 553 554 //////////////////////////////////////////////////////////// 555 // CLazyLocations 556 557 class ATL_NO_VTABLE CLazyLocations : 558 public CComObjectRootEx<CComMultiThreadModelNoCS>, 559 public CComCoClass<CLazyLocations, &__uuidof(LazyLocations)>, 560 public IDispatchImpl<ILazyLocations> 561 { 562 typedef CThreadT<CLazyLocations> CThread; 563 564 public: 565 enum { IDR = IDR_LAZYLOCATIONS }; 566 567 //DECLARE_REGISTRY_RESOURCEID(IDR) 568 569 DECLARE_CLASSFACTORY_SINGLETON(CLazyLocations) 570 571 DECLARE_PROTECT_FINAL_CONSTRUCT() 572 573 BEGIN_COM_MAP(CLazyLocations) 574 COM_INTERFACE_ENTRY(ILazyLocations) 575 COM_INTERFACE_ENTRY_IID(__uuidof(IDispatch), ILazyLocations) 576 COM_INTERFACE_ENTRY(ILocations) 577 COM_INTERFACE_ENTRY_AGGREGATE(__uuidof(IMarshal), m_FreeThreadedMarshaler) 578 END_COM_MAP() 579 580 private: 581 CFreeThreadedMarshaler m_FreeThreadedMarshaler; 582 mutable CRoCriticalSection m_ThreadCriticalSection; 583 CObjectPtr<CThread> m_pThread; 584 mutable CRoCriticalSection m_DataCriticalSection; 585 CObjectPtr<CLocations> m_pLocations; 586 587 DWORD ThreadProc(CThread* pThread, CEvent& InitializationEvent, CEvent& TerminationEvent) 588 { 589 CMultiThreadedApartment MultiThreadedApartment; 590 _W(InitializationEvent.Set()); 591 CComPtr<ILocations> pLocations; 592 __C(pLocations.CoCreateInstance(__uuidof(Locations))); 593 const CObjectPtr<CLocations> pNativeLocations = static_cast<CLocations*>((ILocations*) pLocations); 594 _A(pNativeLocations); 595 { 596 CRoCriticalSectionLock DataLock(m_DataCriticalSection); 597 _A(!m_pLocations); 598 m_pLocations = pNativeLocations; 599 } 600 TerminationEvent; 601 CRoCriticalSectionLock ThreadLock(m_ThreadCriticalSection); 602 _A(m_pThread == pThread || !m_pThread && WaitForSingleObject(TerminationEvent, 0) == WAIT_OBJECT_0); 603 m_pThread.Release(); 604 return 0; 605 } 606 607 public: 608 // CLazyLocations 609 static CString GetObjectFriendlyName() 610 { 611 return _StringHelper::GetLine(IDR, 2); 612 } 613 static HRESULT WINAPI UpdateRegistry(BOOL bRegister) throw() 614 { 615 _Z2(atlTraceRegistrar, 2, _T("bRegister %d\n"), bRegister); 616 _ATLTRY 617 { 618 UpdateRegistryFromResource<CLazyLocations>(bRegister); 619 } 620 _ATLCATCH(Exception) 621 { 622 _C(Exception); 623 } 624 return S_OK; 625 } 626 CLazyLocations() throw() 627 { 628 _Z4(atlTraceRefcount, 4, _T("this 0x%p\n"), this); 629 } 630 ~CLazyLocations() throw() 631 { 632 _Z4(atlTraceRefcount, 4, _T("this 0x%p\n"), this); 633 } 634 HRESULT FinalConstruct() throw() 635 { 636 _ATLTRY 637 { 638 CRoCriticalSectionLock ThreadLock(m_ThreadCriticalSection); 639 CObjectPtr<CThread> pThread; 640 __E(pThread.Construct()->Initialize(this, &CLazyLocations::ThreadProc)); 641 m_pThread = pThread; 642 } 643 _ATLCATCH(Exception) 644 { 645 _C(Exception); 646 } 647 return S_OK; 648 } 649 VOID FinalRelease() throw() 650 { 651 CObjectPtr<CThread> pThread; 652 { 653 CRoCriticalSectionLock ThreadLock(m_ThreadCriticalSection); 654 m_pThread.Swap(pThread); 655 } 656 } 657 CObjectPtr<CLocations> GetLocations() const throw() 658 { 659 CRoCriticalSectionLock DataLock(m_DataCriticalSection); 660 return m_pLocations; 661 } 662 663 // ILazyLocations 664 STDMETHOD(get_Initialized)(VARIANT_BOOL* pbInitialized) throw() 665 { 666 _Z4(atlTraceCOM, 4, _T("...\n")); 667 _ATLTRY 668 { 669 __D(pbInitialized, E_POINTER); 670 //ObjectLock Lock(this); 671 //CRoCriticalSectionLock DataLock(m_DataCriticalSection); 672 *pbInitialized = GetLocations() ? ATL_VARIANT_TRUE : ATL_VARIANT_FALSE; 673 } 674 _ATLCATCH(Exception) 675 { 676 _C(Exception); 677 } 678 return S_OK; 679 } 680 681 // ILocations 682 STDMETHOD(get_Item)(VARIANT vIndex, ILocation** ppLocation) throw() 683 { 684 _Z4(atlTraceCOM, 4, _T("vIndex.vt 0x%x\n"), vIndex.vt); 685 _ATLTRY 686 { 687 __D(ppLocation, E_POINTER); 688 __D(vIndex.vt == VT_BSTR, E_INVALIDARG); 689 //ObjectLock Lock(this); 690 //CRoCriticalSectionLock DataLock(m_DataCriticalSection); 691 CComPtr<ILocation> pLocation; 692 const CObjectPtr<CLocations> pLocations = GetLocations(); 693 if(pLocations) 694 __C(pLocations->get_Item(vIndex, &pLocation)); 695 *ppLocation = pLocation.Detach(); 696 } 697 _ATLCATCH(Exception) 698 { 699 _C(Exception); 700 } 701 return S_OK; 702 } 703 }; 704 705 OBJECT_ENTRY_AUTO(__uuidof(LazyLocations), CLazyLocations) -
trunk/Utilities/MaxMindGeoLite/MaxMindGeoLite.idl
r47 r48 40 40 }; 41 41 [ 42 object, 43 uuid(34BF53BB-D4C8-4002-A0EC-5BA70FE7ACA3), 44 dual, 45 oleautomation, 46 helpstring("ILazyLocations Interface"), 47 pointer_default(unique) 48 ] 49 interface ILazyLocations : ILocations 50 { 51 [propget, id(1)] HRESULT Initialized([out, retval] VARIANT_BOOL* pbInitialized); 52 }; 53 [ 42 54 uuid(F80BC862-E43E-4809-ACFC-1A608209C860), 43 55 version(1.0), … … 66 78 //interface ISupportErrorInfo; 67 79 }; 80 [ 81 uuid(29752330-E1FB-43D0-ADBF-21AF77633259), 82 helpstring("LazyLocations Class") 83 ] 84 coclass LazyLocations 85 { 86 [default] interface ILocations; 87 interface ILazyLocations; 88 //interface ISupportErrorInfo; 89 }; 68 90 }; -
trunk/Utilities/MaxMindGeoLite/MaxMindGeoLite_i.c
r47 r48 7 7 8 8 /* File created by MIDL compiler version 7.00.0555 */ 9 /* at S at Feb 11 15:33:50 20129 /* at Sun Feb 12 00:21:00 2012 10 10 */ 11 11 /* Compiler settings for MaxMindGeoLite.idl: … … 74 74 75 75 76 MIDL_DEFINE_GUID(IID, IID_ILazyLocations,0x34BF53BB,0xD4C8,0x4002,0xA0,0xEC,0x5B,0xA7,0x0F,0xE7,0xAC,0xA3); 77 78 76 79 MIDL_DEFINE_GUID(IID, LIBID_AlaxInfoMaxMindGeoLite,0xF80BC862,0xE43E,0x4809,0xAC,0xFC,0x1A,0x60,0x82,0x09,0xC8,0x60); 77 80 … … 81 84 82 85 MIDL_DEFINE_GUID(CLSID, CLSID_Locations,0x350EBCB9,0x942A,0x4D11,0x91,0x92,0x54,0xAA,0x62,0x30,0xF7,0xBF); 86 87 88 MIDL_DEFINE_GUID(CLSID, CLSID_LazyLocations,0x29752330,0xE1FB,0x43D0,0xAD,0xBF,0x21,0xAF,0x77,0x63,0x32,0x59); 83 89 84 90 #undef MIDL_DEFINE_GUID -
trunk/Utilities/MaxMindGeoLite/MaxMindGeoLite_i.h
r47 r48 5 5 6 6 /* File created by MIDL compiler version 7.00.0555 */ 7 /* at S at Feb 11 15:33:50 20127 /* at Sun Feb 12 00:21:00 2012 8 8 */ 9 9 /* Compiler settings for MaxMindGeoLite.idl: … … 58 58 59 59 60 #ifndef __ILazyLocations_FWD_DEFINED__ 61 #define __ILazyLocations_FWD_DEFINED__ 62 typedef interface ILazyLocations ILazyLocations; 63 #endif /* __ILazyLocations_FWD_DEFINED__ */ 64 65 60 66 #ifndef __Location_FWD_DEFINED__ 61 67 #define __Location_FWD_DEFINED__ … … 80 86 81 87 #endif /* __Locations_FWD_DEFINED__ */ 88 89 90 #ifndef __LazyLocations_FWD_DEFINED__ 91 #define __LazyLocations_FWD_DEFINED__ 92 93 #ifdef __cplusplus 94 typedef class LazyLocations LazyLocations; 95 #else 96 typedef struct LazyLocations LazyLocations; 97 #endif /* __cplusplus */ 98 99 #endif /* __LazyLocations_FWD_DEFINED__ */ 82 100 83 101 … … 405 423 406 424 425 #ifndef __ILazyLocations_INTERFACE_DEFINED__ 426 #define __ILazyLocations_INTERFACE_DEFINED__ 427 428 /* interface ILazyLocations */ 429 /* [unique][helpstring][oleautomation][dual][uuid][object] */ 430 431 432 EXTERN_C const IID IID_ILazyLocations; 433 434 #if defined(__cplusplus) && !defined(CINTERFACE) 435 436 MIDL_INTERFACE("34BF53BB-D4C8-4002-A0EC-5BA70FE7ACA3") 437 ILazyLocations : public ILocations 438 { 439 public: 440 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Initialized( 441 /* [retval][out] */ VARIANT_BOOL *pbInitialized) = 0; 442 443 }; 444 445 #else /* C style interface */ 446 447 typedef struct ILazyLocationsVtbl 448 { 449 BEGIN_INTERFACE 450 451 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 452 ILazyLocations * This, 453 /* [in] */ REFIID riid, 454 /* [annotation][iid_is][out] */ 455 __RPC__deref_out void **ppvObject); 456 457 ULONG ( STDMETHODCALLTYPE *AddRef )( 458 ILazyLocations * This); 459 460 ULONG ( STDMETHODCALLTYPE *Release )( 461 ILazyLocations * This); 462 463 HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 464 ILazyLocations * This, 465 /* [out] */ UINT *pctinfo); 466 467 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 468 ILazyLocations * This, 469 /* [in] */ UINT iTInfo, 470 /* [in] */ LCID lcid, 471 /* [out] */ ITypeInfo **ppTInfo); 472 473 HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 474 ILazyLocations * This, 475 /* [in] */ REFIID riid, 476 /* [size_is][in] */ LPOLESTR *rgszNames, 477 /* [range][in] */ UINT cNames, 478 /* [in] */ LCID lcid, 479 /* [size_is][out] */ DISPID *rgDispId); 480 481 /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 482 ILazyLocations * This, 483 /* [in] */ DISPID dispIdMember, 484 /* [in] */ REFIID riid, 485 /* [in] */ LCID lcid, 486 /* [in] */ WORD wFlags, 487 /* [out][in] */ DISPPARAMS *pDispParams, 488 /* [out] */ VARIANT *pVarResult, 489 /* [out] */ EXCEPINFO *pExcepInfo, 490 /* [out] */ UINT *puArgErr); 491 492 /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 493 ILazyLocations * This, 494 /* [in] */ VARIANT vIndex, 495 /* [retval][out] */ ILocation **ppLocation); 496 497 /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Initialized )( 498 ILazyLocations * This, 499 /* [retval][out] */ VARIANT_BOOL *pbInitialized); 500 501 END_INTERFACE 502 } ILazyLocationsVtbl; 503 504 interface ILazyLocations 505 { 506 CONST_VTBL struct ILazyLocationsVtbl *lpVtbl; 507 }; 508 509 510 511 #ifdef COBJMACROS 512 513 514 #define ILazyLocations_QueryInterface(This,riid,ppvObject) \ 515 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 516 517 #define ILazyLocations_AddRef(This) \ 518 ( (This)->lpVtbl -> AddRef(This) ) 519 520 #define ILazyLocations_Release(This) \ 521 ( (This)->lpVtbl -> Release(This) ) 522 523 524 #define ILazyLocations_GetTypeInfoCount(This,pctinfo) \ 525 ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 526 527 #define ILazyLocations_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ 528 ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 529 530 #define ILazyLocations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ 531 ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 532 533 #define ILazyLocations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ 534 ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 535 536 537 #define ILazyLocations_get_Item(This,vIndex,ppLocation) \ 538 ( (This)->lpVtbl -> get_Item(This,vIndex,ppLocation) ) 539 540 541 #define ILazyLocations_get_Initialized(This,pbInitialized) \ 542 ( (This)->lpVtbl -> get_Initialized(This,pbInitialized) ) 543 544 #endif /* COBJMACROS */ 545 546 547 #endif /* C style interface */ 548 549 550 551 552 #endif /* __ILazyLocations_INTERFACE_DEFINED__ */ 553 554 407 555 408 556 #ifndef __AlaxInfoMaxMindGeoLite_LIBRARY_DEFINED__ … … 429 577 class DECLSPEC_UUID("350EBCB9-942A-4D11-9192-54AA6230F7BF") 430 578 Locations; 579 #endif 580 581 EXTERN_C const CLSID CLSID_LazyLocations; 582 583 #ifdef __cplusplus 584 585 class DECLSPEC_UUID("29752330-E1FB-43D0-ADBF-21AF77633259") 586 LazyLocations; 431 587 #endif 432 588 #endif /* __AlaxInfoMaxMindGeoLite_LIBRARY_DEFINED__ */ -
trunk/Utilities/MaxMindGeoLite/MaxMindGeoLite_p.c
r47 r48 5 5 6 6 /* File created by MIDL compiler version 7.00.0555 */ 7 /* at S at Feb 11 15:33:50 20127 /* at Sun Feb 12 00:21:00 2012 8 8 */ 9 9 /* Compiler settings for MaxMindGeoLite.idl: … … 50 50 #include "MaxMindGeoLite_i.h" 51 51 52 #define TYPE_FORMAT_STRING_SIZE 10 7953 #define PROC_FORMAT_STRING_SIZE 3 3152 #define TYPE_FORMAT_STRING_SIZE 1083 53 #define PROC_FORMAT_STRING_SIZE 367 54 54 #define EXPR_FORMAT_STRING_SIZE 1 55 55 #define TRANSMIT_AS_TABLE_SIZE 0 … … 96 96 extern const MIDL_SERVER_INFO ILocations_ServerInfo; 97 97 extern const MIDL_STUBLESS_PROXY_INFO ILocations_ProxyInfo; 98 99 100 extern const MIDL_STUB_DESC Object_StubDesc; 101 102 103 extern const MIDL_SERVER_INFO ILazyLocations_ServerInfo; 104 extern const MIDL_STUBLESS_PROXY_INFO ILazyLocations_ProxyInfo; 98 105 99 106 … … 393 400 /* 326 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ 394 401 /* 328 */ 0x8, /* FC_LONG */ 402 0x0, /* 0 */ 403 404 /* Procedure get_Initialized */ 405 406 /* 330 */ 0x33, /* FC_AUTO_HANDLE */ 407 0x6c, /* Old Flags: object, Oi2 */ 408 /* 332 */ NdrFcLong( 0x0 ), /* 0 */ 409 /* 336 */ NdrFcShort( 0x8 ), /* 8 */ 410 /* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ 411 /* 340 */ NdrFcShort( 0x0 ), /* 0 */ 412 /* 342 */ NdrFcShort( 0x22 ), /* 34 */ 413 /* 344 */ 0x44, /* Oi2 Flags: has return, has ext, */ 414 0x2, /* 2 */ 415 /* 346 */ 0x8, /* 8 */ 416 0x1, /* Ext Flags: new corr desc, */ 417 /* 348 */ NdrFcShort( 0x0 ), /* 0 */ 418 /* 350 */ NdrFcShort( 0x0 ), /* 0 */ 419 /* 352 */ NdrFcShort( 0x0 ), /* 0 */ 420 421 /* Parameter pbInitialized */ 422 423 /* 354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ 424 /* 356 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ 425 /* 358 */ 0x6, /* FC_SHORT */ 426 0x0, /* 0 */ 427 428 /* Return value */ 429 430 /* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ 431 /* 362 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ 432 /* 364 */ 0x8, /* FC_LONG */ 395 433 0x0, /* 0 */ 396 434 … … 1133 1171 /* 1076 */ 0x2f, /* 47 */ 1134 1172 0x5, /* 5 */ 1173 /* 1078 */ 1174 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ 1175 /* 1080 */ 0x6, /* FC_SHORT */ 1176 0x5c, /* FC_PAD */ 1135 1177 1136 1178 0x0 … … 1322 1364 }; 1323 1365 1366 1367 /* Object interface: ILazyLocations, ver. 0.0, 1368 GUID={0x34BF53BB,0xD4C8,0x4002,{0xA0,0xEC,0x5B,0xA7,0x0F,0xE7,0xAC,0xA3}} */ 1369 1370 #pragma code_seg(".orpc") 1371 static const unsigned short ILazyLocations_FormatStringOffsetTable[] = 1372 { 1373 (unsigned short) -1, 1374 (unsigned short) -1, 1375 (unsigned short) -1, 1376 (unsigned short) -1, 1377 288, 1378 330 1379 }; 1380 1381 static const MIDL_STUBLESS_PROXY_INFO ILazyLocations_ProxyInfo = 1382 { 1383 &Object_StubDesc, 1384 MaxMindGeoLite__MIDL_ProcFormatString.Format, 1385 &ILazyLocations_FormatStringOffsetTable[-3], 1386 0, 1387 0, 1388 0 1389 }; 1390 1391 1392 static const MIDL_SERVER_INFO ILazyLocations_ServerInfo = 1393 { 1394 &Object_StubDesc, 1395 0, 1396 MaxMindGeoLite__MIDL_ProcFormatString.Format, 1397 &ILazyLocations_FormatStringOffsetTable[-3], 1398 0, 1399 0, 1400 0, 1401 0}; 1402 CINTERFACE_PROXY_VTABLE(9) _ILazyLocationsProxyVtbl = 1403 { 1404 &ILazyLocations_ProxyInfo, 1405 &IID_ILazyLocations, 1406 IUnknown_QueryInterface_Proxy, 1407 IUnknown_AddRef_Proxy, 1408 IUnknown_Release_Proxy , 1409 0 /* IDispatch::GetTypeInfoCount */ , 1410 0 /* IDispatch::GetTypeInfo */ , 1411 0 /* IDispatch::GetIDsOfNames */ , 1412 0 /* IDispatch_Invoke_Proxy */ , 1413 (void *) (INT_PTR) -1 /* ILocations::get_Item */ , 1414 (void *) (INT_PTR) -1 /* ILazyLocations::get_Initialized */ 1415 }; 1416 1417 1418 static const PRPC_STUB_FUNCTION ILazyLocations_table[] = 1419 { 1420 STUB_FORWARDING_FUNCTION, 1421 STUB_FORWARDING_FUNCTION, 1422 STUB_FORWARDING_FUNCTION, 1423 STUB_FORWARDING_FUNCTION, 1424 NdrStubCall2, 1425 NdrStubCall2 1426 }; 1427 1428 CInterfaceStubVtbl _ILazyLocationsStubVtbl = 1429 { 1430 &IID_ILazyLocations, 1431 &ILazyLocations_ServerInfo, 1432 9, 1433 &ILazyLocations_table[-3], 1434 CStdStubBuffer_DELEGATING_METHODS 1435 }; 1436 1324 1437 static const MIDL_STUB_DESC Object_StubDesc = 1325 1438 { … … 1348 1461 const CInterfaceProxyVtbl * const _MaxMindGeoLite_ProxyVtblList[] = 1349 1462 { 1463 ( CInterfaceProxyVtbl *) &_ILazyLocationsProxyVtbl, 1350 1464 ( CInterfaceProxyVtbl *) &_ILocationProxyVtbl, 1351 1465 ( CInterfaceProxyVtbl *) &_ILocationsProxyVtbl, … … 1355 1469 const CInterfaceStubVtbl * const _MaxMindGeoLite_StubVtblList[] = 1356 1470 { 1471 ( CInterfaceStubVtbl *) &_ILazyLocationsStubVtbl, 1357 1472 ( CInterfaceStubVtbl *) &_ILocationStubVtbl, 1358 1473 ( CInterfaceStubVtbl *) &_ILocationsStubVtbl, … … 1362 1477 PCInterfaceName const _MaxMindGeoLite_InterfaceNamesList[] = 1363 1478 { 1479 "ILazyLocations", 1364 1480 "ILocation", 1365 1481 "ILocations", … … 1371 1487 &IID_IDispatch, 1372 1488 &IID_IDispatch, 1489 &IID_IDispatch, 1373 1490 0 1374 1491 }; … … 1381 1498 IID_BS_LOOKUP_SETUP 1382 1499 1383 IID_BS_LOOKUP_INITIAL_TEST( _MaxMindGeoLite, 2, 1 ) 1384 IID_BS_LOOKUP_RETURN_RESULT( _MaxMindGeoLite, 2, *pIndex ) 1500 IID_BS_LOOKUP_INITIAL_TEST( _MaxMindGeoLite, 3, 2 ) 1501 IID_BS_LOOKUP_NEXT_TEST( _MaxMindGeoLite, 1 ) 1502 IID_BS_LOOKUP_RETURN_RESULT( _MaxMindGeoLite, 3, *pIndex ) 1385 1503 1386 1504 } … … 1393 1511 (const IID ** ) & _MaxMindGeoLite_BaseIIDList, 1394 1512 & _MaxMindGeoLite_IID_Lookup, 1395 2,1513 3, 1396 1514 2, 1397 1515 0, /* table of [async_uuid] interfaces */
Note: See TracChangeset
for help on using the changeset viewer.