12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170 |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // File: objidl.idl
- //
- //--------------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- #if (__midl >= 501)
- midl_pragma warning( disable: 2007 ) // file already imported
- midl_pragma warning( disable: 2209 ) // ignored redundantly specified attributes
- midl_pragma warning( disable: 2298 ) // version ignored for object interfaces
- #endif
- cpp_quote("#if ( _MSC_VER >= 800 )")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(push)")
- cpp_quote("#endif")
- cpp_quote("#pragma warning(disable:4201)")
- cpp_quote("#endif")
- cpp_quote("#if ( _MSC_VER >= 1020 )")
- cpp_quote("#pragma once")
- cpp_quote("#endif")
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- import "wtypes.idl";
- #endif
- interface IStream;
- interface IMoniker;
- interface IEnumMoniker;
- interface IEnumString;
- interface IRunningObjectTable;
- interface IStorage;
- interface IEnumSTATSTG;
- interface IAdviseSink;
- interface IBindCtx;
- interface IEnumMoniker;
- interface IAsyncManager;
- interface ICallFactory;
- interface ISynchronize;
- typedef struct _COSERVERINFO
- {
- DWORD dwReserved1;
- LPWSTR pwszName;
- COAUTHINFO * pAuthInfo;
- DWORD dwReserved2;
- } COSERVERINFO;
- /****************************************************************************
- * Component Object Interfaces
- ****************************************************************************/
- [
- local,
- object,
- uuid(00000003-0000-0000-C000-000000000046)
- ]
- interface IMarshal : IUnknown
- {
- typedef [unique] IMarshal *LPMARSHAL;
- HRESULT GetUnmarshalClass
- (
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags,
- [out] CLSID *pCid
- );
- HRESULT GetMarshalSizeMax
- (
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags,
- [out] DWORD *pSize
- );
- HRESULT MarshalInterface
- (
- [in, unique] IStream *pStm,
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags
- );
- HRESULT UnmarshalInterface
- (
- [in, unique] IStream *pStm,
- [in] REFIID riid,
- [out] void **ppv
- );
- HRESULT ReleaseMarshalData
- (
- [in, unique] IStream *pStm
- );
- HRESULT DisconnectObject
- (
- [in] DWORD dwReserved
- );
- }
- [
- local,
- object,
- uuid(000001cf-0000-0000-C000-000000000046)
- ]
- interface IMarshal2 : IMarshal
- {
- typedef [unique] IMarshal2 *LPMARSHAL2;
- }
- [
- local,
- object,
- uuid(00000002-0000-0000-C000-000000000046)
- ]
- interface IMalloc : IUnknown
- {
- typedef [unique] IMalloc *LPMALLOC;
- void *Alloc([in] SIZE_T cb);
- void *Realloc ([in] void *pv,
- [in] SIZE_T cb);
- void Free([in] void *pv);
- SIZE_T GetSize([in] void *pv);
- int DidAlloc(void *pv);
- void HeapMinimize(void);
- }
- [
- local,
- object,
- uuid(0000001d-0000-0000-C000-000000000046)
- ]
- interface IMallocSpy : IUnknown
- {
- typedef [unique] IMallocSpy *LPMALLOCSPY;
- SIZE_T PreAlloc
- (
- [in] SIZE_T cbRequest
- );
- void *PostAlloc
- (
- [in] void *pActual
- );
- void *PreFree
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
- void PostFree
- (
- [in] BOOL fSpyed
- );
- SIZE_T PreRealloc
- (
- [in] void *pRequest,
- [in] SIZE_T cbRequest,
- [out] void **ppNewRequest,
- [in] BOOL fSpyed
- );
- void *PostRealloc
- (
- [in] void *pActual,
- [in] BOOL fSpyed
- );
- void *PreGetSize
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
- SIZE_T PostGetSize
- (
- [in] SIZE_T cbActual,
- [in] BOOL fSpyed
- );
- void *PreDidAlloc
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
- int PostDidAlloc
- (
- [in] void *pRequest,
- [in] BOOL fSpyed,
- [in] int fActual
- );
- void PreHeapMinimize(void);
- void PostHeapMinimize(void);
- }
- [
- local,
- object,
- uuid(00000018-0000-0000-C000-000000000046)
- ]
- interface IStdMarshalInfo : IUnknown
- {
- typedef [unique] IStdMarshalInfo * LPSTDMARSHALINFO;
- HRESULT GetClassForHandler
- (
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [out] CLSID *pClsid
- );
- }
- [
- object,
- local,
- uuid(00000019-0000-0000-C000-000000000046)
- ]
- interface IExternalConnection : IUnknown
- {
- typedef [unique] IExternalConnection* LPEXTERNALCONNECTION;
- // bit flags for IExternalConnection
- typedef enum tagEXTCONN
- {
- EXTCONN_STRONG = 0x0001, // strong connection
- EXTCONN_WEAK = 0x0002, // weak connection (table, container)
- EXTCONN_CALLABLE = 0x0004, // table .vs. callable
- } EXTCONN;
- // *** IExternalConnection methods ***
- DWORD AddConnection
- (
- [in] DWORD extconn,
- [in] DWORD reserved
- );
- DWORD ReleaseConnection
- (
- [in] DWORD extconn,
- [in] DWORD reserved,
- [in] BOOL fLastReleaseCloses
- );
- }
- typedef [unique] IMultiQI* LPMULTIQI;
- typedef struct tagMULTI_QI
- {
- const IID *pIID; // pass this one in
- IUnknown *pItf; // get these out (you must set to NULL before calling)
- HRESULT hr;
- } MULTI_QI;
- [
- object,
- local,
- uuid(00000020-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(000e0020-0000-0000-C000-000000000046)
- #endif
- ]
- interface IMultiQI : IUnknown
- {
- HRESULT QueryMultipleInterfaces
- (
- [in] ULONG cMQIs,
- [in,out] MULTI_QI *pMQIs
- );
- }
- [
- object,
- local,
- uuid(00000021-0000-0000-C000-000000000046)
- ]
- interface IInternalUnknown : IUnknown
- {
- HRESULT QueryInternalInterface(
- [in] REFIID riid,
- [out] void **ppv);
- }
- [
- object,
- uuid(00000100-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumUnknown : IUnknown
- {
- typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out] IUnknown **rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IUnknown **rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumUnknown **ppenum);
- }
- /****************************************************************************
- * Binding Interfaces
- ****************************************************************************/
- [
- object,
- uuid(0000000e-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IBindCtx : IUnknown
- {
- typedef [unique] IBindCtx *LPBC;
- typedef [unique] IBindCtx *LPBINDCTX;
- typedef struct tagBIND_OPTS {
- DWORD cbStruct; // sizeof(BIND_OPTS)
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
- } BIND_OPTS, * LPBIND_OPTS;
- cpp_quote("#if defined(__cplusplus)")
- cpp_quote(" typedef struct tagBIND_OPTS2 : tagBIND_OPTS{")
- cpp_quote(" DWORD dwTrackFlags;")
- cpp_quote(" DWORD dwClassContext;")
- cpp_quote(" LCID locale;")
- cpp_quote(" COSERVERINFO * pServerInfo;")
- cpp_quote(" } BIND_OPTS2, * LPBIND_OPTS2;")
- cpp_quote("#else")
- typedef struct tagBIND_OPTS2 {
- DWORD cbStruct; // sizeof(BIND_OPTS2)
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
- DWORD dwTrackFlags;
- DWORD dwClassContext;
- LCID locale;
- COSERVERINFO * pServerInfo;
- } BIND_OPTS2, * LPBIND_OPTS2;
- cpp_quote("#endif")
- typedef enum tagBIND_FLAGS
- {
- BIND_MAYBOTHERUSER = 1,
- BIND_JUSTTESTEXISTENCE = 2
- } BIND_FLAGS;
- HRESULT RegisterObjectBound
- (
- [in, unique] IUnknown *punk
- );
- HRESULT RevokeObjectBound
- (
- [in, unique] IUnknown *punk
- );
- HRESULT ReleaseBoundObjects
- (
- void
- );
- [local]
- HRESULT SetBindOptions
- (
- [in] BIND_OPTS *pbindopts
- );
- [call_as(SetBindOptions)]
- HRESULT RemoteSetBindOptions
- (
- [in] BIND_OPTS2 *pbindopts
- );
- [local]
- HRESULT GetBindOptions
- (
- [in, out] BIND_OPTS *pbindopts
- );
- [call_as(GetBindOptions)]
- HRESULT RemoteGetBindOptions
- (
- [in, out] BIND_OPTS2 *pbindopts
- );
- HRESULT GetRunningObjectTable
- (
- [out] IRunningObjectTable **pprot
- );
- HRESULT RegisterObjectParam(
- [in] LPOLESTR pszKey,
- [in, unique] IUnknown *punk
- );
- HRESULT GetObjectParam(
- [in] LPOLESTR pszKey,
- [out] IUnknown **ppunk
- );
- HRESULT EnumObjectParam
- (
- [out] IEnumString **ppenum
- );
- HRESULT RevokeObjectParam
- (
- [in] LPOLESTR pszKey
- );
- }
- [
- object,
- uuid(00000102-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumMoniker : IUnknown
- {
- typedef [unique] IEnumMoniker *LPENUMMONIKER;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IMoniker **rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IMoniker **rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumMoniker **ppenum);
- }
- [
- object,
- uuid(00000126-0000-0000-C000-000000000046)
- ]
- interface IRunnableObject : IUnknown
- {
- typedef [unique] IRunnableObject *LPRUNNABLEOBJECT;
- HRESULT GetRunningClass(
- [out] LPCLSID lpClsid);
- HRESULT Run(
- [in] LPBINDCTX pbc);
- [local]
- BOOL IsRunning();
- [call_as(IsRunning)]
- HRESULT RemoteIsRunning();
- HRESULT LockRunning(
- [in] BOOL fLock,
- [in] BOOL fLastUnlockCloses);
- HRESULT SetContainedObject(
- [in] BOOL fContained);
- }
- [
- object,
- uuid(00000010-0000-0000-C000-000000000046)
- ]
- interface IRunningObjectTable : IUnknown
- {
- typedef [unique] IRunningObjectTable *LPRUNNINGOBJECTTABLE;
- HRESULT Register
- (
- [in] DWORD grfFlags,
- [in, unique] IUnknown *punkObject,
- [in, unique] IMoniker *pmkObjectName,
- [out] DWORD *pdwRegister
- );
- HRESULT Revoke
- (
- [in] DWORD dwRegister
- );
- HRESULT IsRunning
- (
- [in, unique] IMoniker *pmkObjectName
- );
- HRESULT GetObject
- (
- [in, unique] IMoniker *pmkObjectName,
- [out] IUnknown **ppunkObject
- );
- HRESULT NoteChangeTime
- (
- [in] DWORD dwRegister,
- [in] FILETIME *pfiletime
- );
- HRESULT GetTimeOfLastChange
- (
- [in, unique] IMoniker *pmkObjectName,
- [out] FILETIME *pfiletime
- );
- HRESULT EnumRunning
- (
- [out] IEnumMoniker **ppenumMoniker
- );
- }
- [
- object,
- uuid(0000010c-0000-0000-C000-000000000046)
- ]
- interface IPersist : IUnknown
- {
- typedef [unique] IPersist *LPPERSIST;
- HRESULT GetClassID
- (
- [out] CLSID *pClassID
- );
- }
- [
- object,
- uuid(00000109-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IPersistStream : IPersist
- {
- typedef [unique] IPersistStream *LPPERSISTSTREAM;
- HRESULT IsDirty
- (
- void
- );
- HRESULT Load
- (
- [in, unique] IStream *pStm
- );
- HRESULT Save
- (
- [in, unique] IStream *pStm,
- [in] BOOL fClearDirty
- );
- HRESULT GetSizeMax
- (
- [out] ULARGE_INTEGER *pcbSize
- );
- }
- [
- object,
- uuid(0000000f-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IMoniker : IPersistStream
- {
- typedef [unique] IMoniker *LPMONIKER;
- // system moniker types; returned from IsSystemMoniker.
- typedef enum tagMKSYS
- {
- MKSYS_NONE = 0,
- MKSYS_GENERICCOMPOSITE = 1,
- MKSYS_FILEMONIKER = 2,
- MKSYS_ANTIMONIKER = 3,
- MKSYS_ITEMMONIKER = 4,
- MKSYS_POINTERMONIKER = 5,
- // MKSYS_URLMONIKER = 6,
- MKSYS_CLASSMONIKER = 7,
- MKSYS_OBJREFMONIKER = 8,
- MKSYS_SESSIONMONIKER = 9
- }MKSYS;
- typedef [v1_enum] enum tagMKREDUCE
- {
- MKRREDUCE_ONE = 3<<16,
- MKRREDUCE_TOUSER = 2<<16,
- MKRREDUCE_THROUGHUSER = 1<<16,
- MKRREDUCE_ALL = 0
- } MKRREDUCE;
- [local]
- HRESULT BindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out, iid_is(riidResult)] void **ppvResult);
- [call_as(BindToObject)]
- HRESULT RemoteBindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out, iid_is(riidResult)] IUnknown **ppvResult);
- [local]
- HRESULT BindToStorage(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppvObj);
- [call_as(BindToStorage)]
- HRESULT RemoteBindToStorage(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riid,
- [out, iid_is(riid)] IUnknown **ppvObj);
- HRESULT Reduce(
- [in, unique] IBindCtx *pbc,
- [in] DWORD dwReduceHowFar,
- [in, out, unique] IMoniker **ppmkToLeft,
- [out] IMoniker **ppmkReduced);
- HRESULT ComposeWith(
- [in, unique] IMoniker *pmkRight,
- [in] BOOL fOnlyIfNotGeneric,
- [out] IMoniker **ppmkComposite);
- HRESULT Enum(
- [in] BOOL fForward,
- [out] IEnumMoniker **ppenumMoniker);
- HRESULT IsEqual(
- [in, unique] IMoniker *pmkOtherMoniker);
- HRESULT Hash(
- [out] DWORD *pdwHash);
- HRESULT IsRunning(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in, unique] IMoniker *pmkNewlyRunning);
- HRESULT GetTimeOfLastChange(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [out] FILETIME *pFileTime);
- HRESULT Inverse(
- [out] IMoniker **ppmk);
- HRESULT CommonPrefixWith(
- [in, unique] IMoniker *pmkOther,
- [out] IMoniker **ppmkPrefix);
- HRESULT RelativePathTo(
- [in, unique] IMoniker *pmkOther,
- [out] IMoniker **ppmkRelPath);
- HRESULT GetDisplayName(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [out] LPOLESTR *ppszDisplayName);
- HRESULT ParseDisplayName(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] LPOLESTR pszDisplayName,
- [out] ULONG *pchEaten,
- [out] IMoniker **ppmkOut);
- HRESULT IsSystemMoniker(
- [out] DWORD *pdwMksys);
- }
- [
- object,
- uuid(f29f6bc0-5021-11ce-aa15-00006901293f),
- pointer_default(unique)
- ]
- interface IROTData : IUnknown
- {
- HRESULT GetComparisonData(
- [out, size_is(cbMax)] byte *pbData,
- [in] ULONG cbMax,
- [out] ULONG *pcbData);
- }
- [
- object,
- uuid(00000101-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumString : IUnknown
- {
- typedef [unique] IEnumString *LPENUMSTRING;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- LPOLESTR *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- LPOLESTR *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumString **ppenum);
- }
- /****************************************************************************
- * Structured Storage Interfaces
- ****************************************************************************/
- [
- object,
- uuid(0c733a30-2a1c-11ce-ade5-00aa0044773d),
- pointer_default(unique)
- ]
- interface ISequentialStream : IUnknown
- {
- [local]
- HRESULT Read(
- [out, size_is(cb), length_is(*pcbRead)]
- void *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [call_as(Read)]
- HRESULT RemoteRead(
- [out, size_is(cb), length_is(*pcbRead)]
- byte *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [local]
- HRESULT Write(
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [call_as(Write)]
- HRESULT RemoteWrite(
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- }
- [
- object,
- uuid(0000000c-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IStream : ISequentialStream
- {
- typedef [unique] IStream *LPSTREAM;
- /* Storage stat buffer */
- cpp_quote("//FSSpec is Macintosh only, defined in macos\files.h")
- cpp_quote("#ifdef _MAC")
- cpp_quote(" typedef struct tagSTATSTG")
- cpp_quote(" { ")
- cpp_quote(" LPOLESTR pwcsName;")
- cpp_quote(" FSSpec *pspec;")
- cpp_quote(" DWORD type;")
- cpp_quote(" ULARGE_INTEGER cbSize;")
- cpp_quote(" FILETIME mtime;")
- cpp_quote(" FILETIME ctime;")
- cpp_quote(" FILETIME atime;")
- cpp_quote(" DWORD grfMode;")
- cpp_quote(" DWORD grfLocksSupported;")
- cpp_quote(" CLSID clsid;")
- cpp_quote(" DWORD grfStateBits;")
- cpp_quote(" DWORD reserved;")
- cpp_quote(" } STATSTG;")
- cpp_quote("#else //_MAC")
- typedef struct tagSTATSTG
- {
- LPOLESTR pwcsName;
- DWORD type;
- ULARGE_INTEGER cbSize;
- FILETIME mtime;
- FILETIME ctime;
- FILETIME atime;
- DWORD grfMode;
- DWORD grfLocksSupported;
- CLSID clsid;
- DWORD grfStateBits;
- DWORD reserved;
- } STATSTG;
- cpp_quote("#endif //_MAC")
- /* Storage element types */
- typedef enum tagSTGTY
- {
- STGTY_STORAGE = 1,
- STGTY_STREAM = 2,
- STGTY_LOCKBYTES = 3,
- STGTY_PROPERTY = 4
- } STGTY;
- typedef enum tagSTREAM_SEEK
- {
- STREAM_SEEK_SET = 0,
- STREAM_SEEK_CUR = 1,
- STREAM_SEEK_END = 2
- } STREAM_SEEK;
- typedef enum tagLOCKTYPE
- {
- LOCK_WRITE = 1,
- LOCK_EXCLUSIVE = 2,
- LOCK_ONLYONCE = 4
- } LOCKTYPE;
- [local]
- HRESULT Seek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
- [call_as(Seek)]
- HRESULT RemoteSeek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
- HRESULT SetSize(
- [in] ULARGE_INTEGER libNewSize);
- [local]
- HRESULT CopyTo(
- [in, unique] IStream *pstm,
- [in] ULARGE_INTEGER cb,
- [out] ULARGE_INTEGER *pcbRead,
- [out] ULARGE_INTEGER *pcbWritten);
- [call_as(CopyTo)]
- HRESULT RemoteCopyTo(
- [in, unique] IStream *pstm,
- [in] ULARGE_INTEGER cb,
- [out] ULARGE_INTEGER *pcbRead,
- [out] ULARGE_INTEGER *pcbWritten);
- HRESULT Commit(
- [in] DWORD grfCommitFlags);
- HRESULT Revert();
- HRESULT LockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
- HRESULT UnlockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
- HRESULT Clone(
- [out] IStream **ppstm);
- }
- [
- object,
- uuid(0000000d-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumSTATSTG : IUnknown
- {
- typedef [unique] IEnumSTATSTG *LPENUMSTATSTG;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATSTG *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATSTG *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumSTATSTG **ppenum);
- }
- [
- object,
- uuid(0000000b-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IStorage : IUnknown
- {
- typedef [unique] IStorage * LPSTORAGE;
- typedef struct tagRemSNB
- {
- unsigned long ulCntStr;
- unsigned long ulCntChar;
- [size_is(ulCntChar)] OLECHAR rgString[];
- } RemSNB;
- typedef [unique] RemSNB * wireSNB;
- typedef [wire_marshal(wireSNB)] OLECHAR **SNB;
- HRESULT CreateStream(
- [in, string] const OLECHAR *pwcsName,
- [in] DWORD grfMode,
- [in] DWORD reserved1,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
- [local]
- HRESULT OpenStream(
- [in, string] const OLECHAR *pwcsName,
- [in, unique] void *reserved1,
- [in] DWORD grfMode,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
- [call_as(OpenStream)]
- HRESULT RemoteOpenStream(
- [in, string] const OLECHAR *pwcsName,
- [in] unsigned long cbReserved1,
- [in, unique, size_is(cbReserved1)] byte *reserved1,
- [in] DWORD grfMode,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
- HRESULT CreateStorage(
- [in, string] const OLECHAR *pwcsName,
- [in] DWORD grfMode,
- [in] DWORD reserved1,
- [in] DWORD reserved2,
- [out] IStorage **ppstg);
- HRESULT OpenStorage(
- [in, unique, string] const OLECHAR *pwcsName,
- [in, unique] IStorage *pstgPriority,
- [in] DWORD grfMode,
- [in, unique] SNB snbExclude,
- [in] DWORD reserved,
- [out] IStorage **ppstg);
- HRESULT CopyTo(
- [in] DWORD ciidExclude,
- [in, unique, size_is(ciidExclude)] IID const *rgiidExclude,
- [in, unique] SNB snbExclude,
- [in, unique] IStorage *pstgDest);
- HRESULT MoveElementTo(
- [in, string] const OLECHAR * pwcsName,
- [in, unique] IStorage *pstgDest,
- [in, string] const OLECHAR *pwcsNewName,
- [in] DWORD grfFlags);
- HRESULT Commit(
- [in] DWORD grfCommitFlags);
- HRESULT Revert();
- [local]
- HRESULT EnumElements(
- [in] DWORD reserved1,
- [in, unique, size_is(1)] void *reserved2,
- [in] DWORD reserved3,
- [out] IEnumSTATSTG **ppenum);
- [call_as(EnumElements)]
- HRESULT RemoteEnumElements(
- [in] DWORD reserved1,
- [in] unsigned long cbReserved2,
- [in, unique, size_is(cbReserved2)] byte *reserved2,
- [in] DWORD reserved3,
- [out] IEnumSTATSTG **ppenum);
- HRESULT DestroyElement(
- [in, string] const OLECHAR *pwcsName);
- HRESULT RenameElement(
- [in, string] const OLECHAR *pwcsOldName,
- [in, string] const OLECHAR *pwcsNewName);
- HRESULT SetElementTimes(
- [in, unique, string] const OLECHAR *pwcsName,
- [in, unique] FILETIME const *pctime,
- [in, unique] FILETIME const *patime,
- [in, unique] FILETIME const *pmtime);
- HRESULT SetClass(
- [in] REFCLSID clsid);
- HRESULT SetStateBits(
- [in] DWORD grfStateBits,
- [in] DWORD grfMask);
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
- }
- [
- object,
- uuid(0000010b-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IPersistFile : IPersist
- {
- typedef [unique] IPersistFile *LPPERSISTFILE;
- HRESULT IsDirty
- (
- void
- );
- HRESULT Load
- (
- [in] LPCOLESTR pszFileName,
- [in] DWORD dwMode
- );
- HRESULT Save
- (
- [in, unique] LPCOLESTR pszFileName,
- [in] BOOL fRemember
- );
- HRESULT SaveCompleted
- (
- [in, unique] LPCOLESTR pszFileName
- );
- HRESULT GetCurFile
- (
- [out] LPOLESTR *ppszFileName
- );
- }
- [
- object,
- uuid(0000010a-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IPersistStorage : IPersist
- {
- typedef [unique] IPersistStorage *LPPERSISTSTORAGE;
- HRESULT IsDirty
- (
- void
- );
- HRESULT InitNew
- (
- [in, unique] IStorage *pStg
- );
- HRESULT Load
- (
- [in, unique] IStorage *pStg
- );
- HRESULT Save
- (
- [in, unique] IStorage *pStgSave,
- [in] BOOL fSameAsLoad
- );
- HRESULT SaveCompleted
- (
- [in, unique] IStorage *pStgNew
- );
- HRESULT HandsOffStorage
- (
- void
- );
- }
- [
- object,
- uuid(0000000a-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface ILockBytes : IUnknown
- {
- typedef [unique] ILockBytes *LPLOCKBYTES;
- [local]
- HRESULT ReadAt(
- [in] ULARGE_INTEGER ulOffset,
- [out, size_is(cb), length_is(*pcbRead)]
- void *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [call_as(ReadAt)]
- HRESULT _stdcall RemoteReadAt(
- [in] ULARGE_INTEGER ulOffset,
- [out, size_is(cb), length_is(*pcbRead)]
- byte *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [local]
- HRESULT WriteAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [call_as(WriteAt)]
- HRESULT RemoteWriteAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- HRESULT Flush();
- HRESULT SetSize(
- [in] ULARGE_INTEGER cb);
- HRESULT LockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
- HRESULT UnlockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
- }
- [
- object,
- uuid(00000103-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumFORMATETC : IUnknown
- {
- typedef [unique] IEnumFORMATETC *LPENUMFORMATETC;
- typedef struct tagDVTARGETDEVICE {
- DWORD tdSize;
- WORD tdDriverNameOffset;
- WORD tdDeviceNameOffset;
- WORD tdPortNameOffset;
- WORD tdExtDevmodeOffset;
- [size_is(tdSize - sizeof(DWORD) - 4*sizeof(WORD))]
- BYTE tdData[];
- }DVTARGETDEVICE;
- typedef CLIPFORMAT *LPCLIPFORMAT;
- typedef struct tagFORMATETC {
- CLIPFORMAT cfFormat;
- [unique] DVTARGETDEVICE * ptd;
- DWORD dwAspect;
- LONG lindex;
- DWORD tymed;
- }FORMATETC, *LPFORMATETC;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched )]
- FORMATETC *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched )]
- FORMATETC *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumFORMATETC **ppenum);
- }
- [
- object,
- uuid(00000105-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumSTATDATA : IUnknown
- {
- typedef [unique] IEnumSTATDATA *LPENUMSTATDATA;
- //Advise Flags
- typedef enum tagADVF
- {
- ADVF_NODATA = 1,
- ADVF_PRIMEFIRST = 2,
- ADVF_ONLYONCE = 4,
- ADVF_DATAONSTOP = 64,
- ADVFCACHE_NOHANDLER = 8,
- ADVFCACHE_FORCEBUILTIN = 16,
- ADVFCACHE_ONSAVE = 32
- } ADVF;
- // Stats for data; used by several enumerations and by at least one
- // implementation of IDataAdviseHolder; if a field is not used, it
- // will be NULL.
- typedef struct tagSTATDATA
- { // field used by:
- FORMATETC formatetc; // EnumAdvise, EnumData (cache), EnumFormats
- DWORD advf; // EnumAdvise, EnumData (cache)
- [unique] IAdviseSink * pAdvSink; // EnumAdvise
- DWORD dwConnection; // EnumAdvise
- } STATDATA;
- typedef STATDATA *LPSTATDATA;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATDATA *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATDATA *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumSTATDATA **ppenum);
- }
- [
- object,
- uuid(00000012-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IRootStorage : IUnknown
- {
- typedef [unique] IRootStorage *LPROOTSTORAGE;
- HRESULT SwitchToFile
- (
- [in] LPOLESTR pszFile
- );
- }
- /****************************************************************************
- * Notification Interfaces
- ****************************************************************************/
- [
- object,
- uuid(0000010f-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(00000150-0000-0000-C000-000000000046),
- #endif
- pointer_default(unique)
- ]
- interface IAdviseSink : IUnknown
- {
- typedef IAdviseSink *LPADVISESINK;
- typedef [v1_enum] enum tagTYMED {
- TYMED_HGLOBAL = 1,
- TYMED_FILE = 2,
- TYMED_ISTREAM = 4,
- TYMED_ISTORAGE = 8,
- TYMED_GDI = 16,
- TYMED_MFPICT = 32,
- TYMED_ENHMF = 64,
- TYMED_NULL = 0
- } TYMED;
- cpp_quote("#ifndef RC_INVOKED")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(push)")
- cpp_quote("#endif")
- cpp_quote("#pragma warning(disable:4200)")
- cpp_quote("#endif")
- typedef struct tagRemSTGMEDIUM {
- DWORD tymed;
- DWORD dwHandleType;
- unsigned long pData;
- unsigned long pUnkForRelease;
- unsigned long cbData;
- [size_is(cbData)] byte data[];
- } RemSTGMEDIUM;
- cpp_quote("#ifndef RC_INVOKED")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(pop)")
- cpp_quote("#else")
- cpp_quote("#pragma warning(default:4200)")
- cpp_quote("#endif")
- cpp_quote("#endif")
- cpp_quote("#ifdef NONAMELESSUNION")
- cpp_quote("typedef struct tagSTGMEDIUM {")
- cpp_quote(" DWORD tymed;")
- cpp_quote(" union {")
- cpp_quote(" HBITMAP hBitmap;")
- cpp_quote(" HMETAFILEPICT hMetaFilePict;")
- cpp_quote(" HENHMETAFILE hEnhMetaFile;")
- cpp_quote(" HGLOBAL hGlobal;")
- cpp_quote(" LPOLESTR lpszFileName;")
- cpp_quote(" IStream *pstm;")
- cpp_quote(" IStorage *pstg;")
- cpp_quote(" } u;")
- cpp_quote(" IUnknown *pUnkForRelease;")
- cpp_quote("}uSTGMEDIUM;")
- cpp_quote("#else")
- typedef struct tagSTGMEDIUM {
- DWORD tymed;
- [switch_type(DWORD), switch_is((DWORD) tymed)]
- union
- {
- [case(TYMED_GDI)]
- HBITMAP hBitmap;
- [case(TYMED_MFPICT)]
- HMETAFILEPICT hMetaFilePict;
- [case(TYMED_ENHMF)]
- HENHMETAFILE hEnhMetaFile;
- [case(TYMED_HGLOBAL)]
- HGLOBAL hGlobal;
- [case(TYMED_FILE)]
- LPOLESTR lpszFileName;
- [case(TYMED_ISTREAM)]
- IStream *pstm;
- [case(TYMED_ISTORAGE)]
- IStorage *pstg;
- [default]
- ;
- };
- [unique] IUnknown *pUnkForRelease;
- }uSTGMEDIUM;
- cpp_quote("#endif /* !NONAMELESSUNION */")
- //
- // wireSTGMEDIUM
- //
- // These flags are #defined (not enumerated) in wingdi.
- // We need to repeat #defines to avoid conflict in the generated file.
- //
- /* Object Definitions for EnumObjects() */
- #define OBJ_PEN 1
- #define OBJ_BRUSH 2
- #define OBJ_DC 3
- #define OBJ_METADC 4
- #define OBJ_PAL 5
- #define OBJ_FONT 6
- #define OBJ_BITMAP 7
- #define OBJ_REGION 8
- #define OBJ_METAFILE 9
- #define OBJ_MEMDC 10
- #define OBJ_EXTPEN 11
- #define OBJ_ENHMETADC 12
- #define OBJ_ENHMETAFILE 13
- typedef union _GDI_OBJECT switch( DWORD ObjectType ) u
- {
- case OBJ_BITMAP: wireHBITMAP hBitmap;
- case OBJ_PAL: wireHPALETTE hPalette;
- default: wireHGLOBAL hGeneric;
- } GDI_OBJECT;
- typedef struct _userSTGMEDIUM
- {
- union _STGMEDIUM_UNION switch( DWORD tymed ) u
- {
- case TYMED_NULL: ;
- case TYMED_MFPICT: wireHMETAFILEPICT hMetaFilePict;
- case TYMED_ENHMF: wireHENHMETAFILE hHEnhMetaFile;
- case TYMED_GDI: GDI_OBJECT * hGdiHandle;
- case TYMED_HGLOBAL: wireHGLOBAL hGlobal;
- case TYMED_FILE: LPOLESTR lpszFileName;
- case TYMED_ISTREAM: BYTE_BLOB * pstm;
- case TYMED_ISTORAGE: BYTE_BLOB * pstg;
- };
- IUnknown * pUnkForRelease;
- } userSTGMEDIUM;
- typedef [unique] userSTGMEDIUM * wireSTGMEDIUM;
- typedef [wire_marshal( wireSTGMEDIUM )] uSTGMEDIUM STGMEDIUM;
- typedef [unique] userSTGMEDIUM * wireASYNC_STGMEDIUM;
- typedef [wire_marshal( wireASYNC_STGMEDIUM )] STGMEDIUM ASYNC_STGMEDIUM;
- typedef STGMEDIUM *LPSTGMEDIUM;
- typedef struct _userFLAG_STGMEDIUM
- {
- long ContextFlags;
- long fPassOwnership;
- userSTGMEDIUM Stgmed;
- } userFLAG_STGMEDIUM;
- typedef [unique] userFLAG_STGMEDIUM * wireFLAG_STGMEDIUM;
- typedef [wire_marshal( wireFLAG_STGMEDIUM )]
- struct _FLAG_STGMEDIUM
- {
- long ContextFlags;
- long fPassOwnership;
- STGMEDIUM Stgmed;
- } FLAG_STGMEDIUM;
- [local]
- void OnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] STGMEDIUM *pStgmed);
- [local]
- void OnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [local]
- void OnRename(
- [in] IMoniker *pmk);
- [local]
- void OnSave();
- [local]
- void OnClose();
- #if (__midl >= 500)
- // Currently used temporary definitons.
- [call_as(OnDataChange)]
- HRESULT RemoteOnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange)]
- HRESULT RemoteOnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename)]
- HRESULT RemoteOnRename(
- [in] IMoniker *pmk);
- [call_as(OnSave)]
- HRESULT RemoteOnSave(
- );
- #elif (__midl > 302)
- // Currently used temporary definitons.
- [call_as(OnDataChange), async]
- HRESULT RemoteOnDataChange(
- [in] IAsyncManager **ppIAM,
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange), async]
- HRESULT RemoteOnViewChange(
- [in] IAsyncManager **ppIAM,
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename), async]
- HRESULT RemoteOnRename(
- [in] IAsyncManager **ppIAM,
- [in] IMoniker *pmk);
- [call_as(OnSave), async]
- HRESULT RemoteOnSave(
- [in] IAsyncManager **ppIAM
- );
- #else
- // Old definitions kept for convenience.
- [call_as(OnDataChange), async]
- void RemoteOnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange), async]
- void RemoteOnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename), async]
- void RemoteOnRename(
- [in] IMoniker *pmk);
- [call_as(OnSave), async]
- void RemoteOnSave();
- #endif // MIDL > 302
- [call_as(OnClose)]
- HRESULT RemoteOnClose();
- }
- [
- object,
- uuid(00000125-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(00000151-0000-0000-C000-000000000046),
- #endif
- pointer_default(unique)
- ]
- interface IAdviseSink2 : IAdviseSink
- {
- typedef [unique] IAdviseSink2 *LPADVISESINK2;
- [local]
- void OnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #if (__midl >= 500)
- // Currently used temporary definiton
- [call_as(OnLinkSrcChange)]
- HRESULT RemoteOnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #elif (__midl > 302)
- // Currently used temporary definiton
- [call_as(OnLinkSrcChange), async]
- HRESULT RemoteOnLinkSrcChange(
- [in] IAsyncManager **ppIAM,
- [in, unique] IMoniker *pmk);
- #else
- // Old one for convenience.
- [call_as(OnLinkSrcChange), async]
- void RemoteOnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #endif
- }
- [
- object,
- uuid(0000010e-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IDataObject : IUnknown
- {
- typedef [unique] IDataObject *LPDATAOBJECT;
- //DATA format DIRection
- typedef enum tagDATADIR
- {
- DATADIR_GET = 1,
- DATADIR_SET = 2
- } DATADIR;
- [local]
- HRESULT GetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] STGMEDIUM *pmedium);
- [call_as(GetData)]
- HRESULT RemoteGetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] STGMEDIUM *pRemoteMedium);
- [local]
- HRESULT GetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] STGMEDIUM *pmedium);
- [call_as(GetDataHere)]
- HRESULT RemoteGetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] STGMEDIUM *pRemoteMedium);
- HRESULT QueryGetData(
- [in, unique] FORMATETC *pformatetc);
- HRESULT GetCanonicalFormatEtc(
- [in, unique] FORMATETC *pformatectIn,
- [out] FORMATETC *pformatetcOut);
- [local]
- HRESULT SetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] STGMEDIUM *pmedium,
- [in] BOOL fRelease);
- [call_as(SetData)]
- HRESULT RemoteSetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] FLAG_STGMEDIUM *pmedium,
- [in] BOOL fRelease);
- HRESULT EnumFormatEtc(
- [in] DWORD dwDirection,
- [out] IEnumFORMATETC **ppenumFormatEtc);
- HRESULT DAdvise(
- [in] FORMATETC *pformatetc,
- [in] DWORD advf,
- [in, unique] IAdviseSink *pAdvSink,
- [out] DWORD *pdwConnection);
- HRESULT DUnadvise(
- [in] DWORD dwConnection);
- HRESULT EnumDAdvise(
- [out] IEnumSTATDATA **ppenumAdvise);
- }
- [
- local,
- object,
- uuid(00000110-0000-0000-C000-000000000046)
- ]
- interface IDataAdviseHolder : IUnknown
- {
- typedef [unique] IDataAdviseHolder *LPDATAADVISEHOLDER;
- HRESULT Advise
- (
- [in, unique] IDataObject *pDataObject,
- [in, unique] FORMATETC *pFetc,
- [in] DWORD advf,
- [in, unique] IAdviseSink *pAdvise,
- [out] DWORD *pdwConnection
- );
- HRESULT Unadvise
- (
- [in] DWORD dwConnection
- );
- HRESULT EnumAdvise
- (
- [out] IEnumSTATDATA **ppenumAdvise
- );
- HRESULT SendOnDataChange
- (
- [in, unique] IDataObject *pDataObject,
- [in] DWORD dwReserved,
- [in] DWORD advf
- );
- }
- [
- local,
- object,
- uuid(00000016-0000-0000-C000-000000000046)
- ]
- interface IMessageFilter : IUnknown
- {
- typedef [unique] IMessageFilter *LPMESSAGEFILTER;
- // call type used by IMessageFilter::HandleIncomingMessage
- typedef enum tagCALLTYPE
- {
- CALLTYPE_TOPLEVEL = 1, // toplevel call - no outgoing call
- CALLTYPE_NESTED = 2, // callback on behalf of previous outgoing call - should always handle
- CALLTYPE_ASYNC = 3, // aysnchronous call - can NOT be rejected
- CALLTYPE_TOPLEVEL_CALLPENDING = 4, // new toplevel call with new LID
- CALLTYPE_ASYNC_CALLPENDING = 5 // async call - can NOT be rejected
- } CALLTYPE;
- // status of server call - returned by IMessageFilter::HandleIncomingCall
- // and passed to IMessageFilter::RetryRejectedCall
- typedef enum tagSERVERCALL
- {
- SERVERCALL_ISHANDLED = 0,
- SERVERCALL_REJECTED = 1,
- SERVERCALL_RETRYLATER = 2
- } SERVERCALL;
- // Pending type indicates the level of nesting
- typedef enum tagPENDINGTYPE
- {
- PENDINGTYPE_TOPLEVEL = 1, // toplevel call
- PENDINGTYPE_NESTED = 2 // nested call
- } PENDINGTYPE;
- // return values of MessagePending
- typedef enum tagPENDINGMSG
- {
- PENDINGMSG_CANCELCALL = 0, // cancel the outgoing call
- PENDINGMSG_WAITNOPROCESS = 1, // wait for the return and don't dispatch the message
- PENDINGMSG_WAITDEFPROCESS = 2 // wait and dispatch the message
- } PENDINGMSG;
- // additional interface information about the incoming call
- typedef struct tagINTERFACEINFO
- {
- IUnknown *pUnk; // the pointer to the object
- IID iid; // interface id
- WORD wMethod; // interface method
- } INTERFACEINFO, *LPINTERFACEINFO;
- DWORD HandleInComingCall
- (
- [in] DWORD dwCallType,
- [in] HTASK htaskCaller,
- [in] DWORD dwTickCount,
- [in] LPINTERFACEINFO lpInterfaceInfo
- );
- DWORD RetryRejectedCall
- (
- [in] HTASK htaskCallee,
- [in] DWORD dwTickCount,
- [in] DWORD dwRejectType
- );
- DWORD MessagePending
- (
- [in] HTASK htaskCallee,
- [in] DWORD dwTickCount,
- [in] DWORD dwPendingType
- );
- }
- /****************************************************************************
- * Object Remoting Interfaces
- ****************************************************************************/
- [
- local,
- object,
- uuid(D5F56B60-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcChannelBuffer : IUnknown
- {
- typedef unsigned long RPCOLEDATAREP;
- typedef struct tagRPCOLEMESSAGE
- {
- void *reserved1;
- RPCOLEDATAREP dataRepresentation;
- void *Buffer;
- ULONG cbBuffer;
- ULONG iMethod;
- void *reserved2[5];
- ULONG rpcFlags;
- } RPCOLEMESSAGE;
- typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
- HRESULT GetBuffer
- (
- [in] RPCOLEMESSAGE *pMessage,
- [in] REFIID riid
- );
- HRESULT SendReceive
- (
- [in,out] RPCOLEMESSAGE *pMessage,
- [out] ULONG *pStatus
- );
- HRESULT FreeBuffer
- (
- [in] RPCOLEMESSAGE *pMessage
- );
- HRESULT GetDestCtx
- (
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
- HRESULT IsConnected
- (
- void
- );
- }
- [
- local,
- object,
- uuid(594f31d0-7f19-11d0-b194-00a0c90dc8bf)
- ]
- interface IRpcChannelBuffer2 : IRpcChannelBuffer
- {
- HRESULT GetProtocolVersion
- (
- [in,out] DWORD *pdwVersion
- );
- }
- [
- local,
- object,
- uuid(a5029fb6-3c34-11d1-9c99-00c04fb998aa),
- pointer_default(unique)
- ]
- interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2
- {
- HRESULT Send(
- [in,out] RPCOLEMESSAGE *pMsg,
- [in] ISynchronize *pSync,
- [out] ULONG *pulStatus
- );
- HRESULT Receive(
- [in,out] RPCOLEMESSAGE *pMsg,
- [out] ULONG *pulStatus);
- HRESULT GetDestCtxEx
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
- };
- [
- local,
- object,
- uuid(25B15600-0115-11d0-BF0D-00AA00B8DFD2)
- ]
- interface IRpcChannelBuffer3 : IRpcChannelBuffer2
- {
- HRESULT Send
- (
- [in,out] RPCOLEMESSAGE *pMsg,
- [out] ULONG *pulStatus
- );
- HRESULT Receive
- (
- [in,out] RPCOLEMESSAGE *pMsg,
- [in] ULONG ulSize,
- [out] ULONG *pulStatus
- );
- HRESULT Cancel
- (
- [in] RPCOLEMESSAGE *pMsg
- );
- HRESULT GetCallContext
- (
- [in] RPCOLEMESSAGE *pMsg,
- [in] REFIID riid,
- [out] void **pInterface
- );
- HRESULT GetDestCtxEx
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
- HRESULT GetState
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pState
- );
- HRESULT RegisterAsync
- (
- [in] RPCOLEMESSAGE *pMsg,
- [in] IAsyncManager *pAsyncMgr
- );
- }
- [
- local,
- object,
- uuid(58a08519-24c8-4935-b482-3fd823333a4f)
- ]
- interface IRpcSyntaxNegotiate : IUnknown
- {
- HRESULT NegotiateSyntax ( [in,out] RPCOLEMESSAGE * pMsg );
- }
- [
- local,
- object,
- uuid(D5F56A34-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcProxyBuffer : IUnknown
- {
- HRESULT Connect
- (
- [in, unique] IRpcChannelBuffer *pRpcChannelBuffer
- );
- void Disconnect
- (
- void
- );
- }
- [
- local,
- object,
- uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcStubBuffer : IUnknown
- {
- HRESULT Connect
- (
- [in] IUnknown *pUnkServer
- );
- void Disconnect();
- HRESULT Invoke
- (
- [in] RPCOLEMESSAGE *_prpcmsg,
- [in] IRpcChannelBuffer *_pRpcChannelBuffer
- );
- IRpcStubBuffer *IsIIDSupported
- (
- [in] REFIID riid
- );
- ULONG CountRefs
- (
- void
- );
- HRESULT DebugServerQueryInterface
- (
- void **ppv
- );
- void DebugServerRelease
- (
- void *pv
- );
- }
- [
- local,
- object,
- uuid(D5F569D0-593B-101A-B569-08002B2DBF7A)
- ]
- interface IPSFactoryBuffer : IUnknown
- {
- HRESULT CreateProxy
- (
- [in] IUnknown *pUnkOuter,
- [in] REFIID riid,
- [out] IRpcProxyBuffer **ppProxy,
- [out] void **ppv
- );
- HRESULT CreateStub
- (
- [in] REFIID riid,
- [in, unique] IUnknown *pUnkServer,
- [out] IRpcStubBuffer **ppStub
- );
- }
- cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" )
- cpp_quote( "// This interface is only valid on Windows NT 4.0" )
- // This structure contains additional data for hooks. As a backward
- // compatability hack, the entire structure is passed in place of the
- // RIID parameter on all hook methods. Thus the IID must be the first
- // parameter. As a forward compatability hack the second field is the
- // current size of the structure.
- typedef struct SChannelHookCallInfo
- {
- IID iid;
- DWORD cbSize;
- GUID uCausality;
- DWORD dwServerPid;
- DWORD iMethod;
- void *pObject;
- } SChannelHookCallInfo;
- [
- local,
- object,
- uuid(1008c4a0-7613-11cf-9af1-0020af6e72f4)
- ]
- interface IChannelHook : IUnknown
- {
- void ClientGetSize(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [out] ULONG *pDataSize );
- void ClientFillBuffer(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in, out] ULONG *pDataSize,
- [in] void *pDataBuffer );
- void ClientNotify(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] ULONG cbDataSize,
- [in] void *pDataBuffer,
- [in] DWORD lDataRep,
- [in] HRESULT hrFault );
- void ServerNotify(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] ULONG cbDataSize,
- [in] void *pDataBuffer,
- [in] DWORD lDataRep );
- void ServerGetSize(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] HRESULT hrFault,
- [out] ULONG *pDataSize );
- void ServerFillBuffer(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in, out] ULONG *pDataSize,
- [in] void *pDataBuffer,
- [in] HRESULT hrFault );
- };
- cpp_quote( "#endif //DCOM" )
- cpp_quote("")
- cpp_quote("// Well-known Property Set Format IDs")
- extern const FMTID FMTID_SummaryInformation;
- extern const FMTID FMTID_DocSummaryInformation;
- extern const FMTID FMTID_UserDefinedProperties;
- extern const FMTID FMTID_DiscardableInformation;
- extern const FMTID FMTID_ImageSummaryInformation;
- extern const FMTID FMTID_AudioSummaryInformation;
- extern const FMTID FMTID_VideoSummaryInformation;
- extern const FMTID FMTID_MediaFileSummaryInformation;
- /****************************************************************************
- * Connection Point Interfaces
- ****************************************************************************/
- #ifdef __INCLUDE_CPIFS
- interface IConnectionPointContainer;
- interface IConnectionPoint;
- interface IEnumConnections;
- interface IEnumConnectionPoints;
- [
- object,
- uuid(B196B286-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IConnectionPoint : IUnknown
- {
- typedef IConnectionPoint * PCONNECTIONPOINT;
- typedef IConnectionPoint * LPCONNECTIONPOINT;
- HRESULT GetConnectionInterface
- (
- [out] IID * piid
- );
- HRESULT GetConnectionPointContainer
- (
- [out] IConnectionPointContainer ** ppCPC
- );
- HRESULT Advise
- (
- [in] IUnknown * pUnkSink,
- [out] DWORD * pdwCookie
- );
- HRESULT Unadvise
- (
- [in] DWORD dwCookie
- );
- HRESULT EnumConnections
- (
- [out] IEnumConnections ** ppEnum
- );
- }
- [
- object,
- uuid(B196B284-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IConnectionPointContainer : IUnknown
- {
- typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER;
- typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER;
- HRESULT EnumConnectionPoints
- (
- [out] IEnumConnectionPoints ** ppEnum
- );
- HRESULT FindConnectionPoint
- (
- [in] REFIID riid,
- [out] IConnectionPoint ** ppCP
- );
- }
- [
- object,
- uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IEnumConnections : IUnknown
- {
- typedef IEnumConnections * PENUMCONNECTIONS;
- typedef IEnumConnections * LPENUMCONNECTIONS;
- typedef struct tagCONNECTDATA
- {
- IUnknown * pUnk;
- DWORD dwCookie;
- } CONNECTDATA;
- typedef struct tagCONNECTDATA * PCONNECTDATA;
- typedef struct tagCONNECTDATA * LPCONNECTDATA;
- [local]
- HRESULT Next(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] CONNECTDATA * rgcd,
- [out] ULONG * lpcFetched
- );
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] CONNECTDATA * rgcd,
- [out] ULONG * lpcFetched
- );
- HRESULT Skip
- (
- [in] ULONG cConnections
- );
- HRESULT Reset
- (
- void
- );
- HRESULT Clone
- (
- [out] IEnumConnections ** ppEnum
- );
- }
- [
- object,
- uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IEnumConnectionPoints : IUnknown
- {
- typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
- typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
- [local]
- HRESULT Next(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
- [out] ULONG * lpcFetched
- );
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
- [out] ULONG * lpcFetched
- );
- HRESULT Skip
- (
- [in] ULONG cConnections
- );
- HRESULT Reset
- (
- void
- );
- HRESULT Clone
- (
- [out] IEnumConnectionPoints ** ppEnum
- );
- }
- #endif // __INCLUDE_CPIFS
- cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" )
- cpp_quote( "// This interface is only valid on Windows NT 4.0" )
- [
- local,
- object,
- uuid(0000013D-0000-0000-C000-000000000046)
- ]
- interface IClientSecurity : IUnknown
- {
- typedef struct tagSOLE_AUTHENTICATION_SERVICE
- {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- OLECHAR *pPrincipalName;
- HRESULT hr;
- } SOLE_AUTHENTICATION_SERVICE;
- typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
- typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
- {
- EOAC_NONE = 0x0,
- EOAC_MUTUAL_AUTH = 0x1,
- EOAC_STATIC_CLOAKING = 0x20,
- EOAC_DYNAMIC_CLOAKING = 0x40,
- EOAC_ANY_AUTHORITY = 0x80,
- EOAC_MAKE_FULLSIC = 0x100,
- EOAC_DEFAULT = 0x800,
- // These are only valid for CoInitializeSecurity
- EOAC_SECURE_REFS = 0x2,
- EOAC_ACCESS_CONTROL = 0x4,
- EOAC_APPID = 0x8,
- EOAC_DYNAMIC = 0x10,
- EOAC_REQUIRE_FULLSIC = 0x200,
- EOAC_AUTO_IMPERSONATE = 0x400,
- EOAC_NO_CUSTOM_MARSHAL = 0x2000,
- EOAC_DISABLE_AAA = 0x1000
- } EOLE_AUTHENTICATION_CAPABILITIES;
- const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) -1;
- const void *COLE_DEFAULT_AUTHINFO = (void *) -1;
- typedef struct tagSOLE_AUTHENTICATION_INFO
- {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- void *pAuthInfo;
- } SOLE_AUTHENTICATION_INFO, *PSOLE_AUTHENTICATION_INFO;
- typedef struct tagSOLE_AUTHENTICATION_LIST
- {
- DWORD cAuthInfo;
- SOLE_AUTHENTICATION_INFO *aAuthInfo;
- } SOLE_AUTHENTICATION_LIST, *PSOLE_AUTHENTICATION_LIST;
- HRESULT QueryBlanket
- (
- [in] IUnknown *pProxy,
- [out] DWORD *pAuthnSvc,
- [out] DWORD *pAuthzSvc,
- [out] OLECHAR **pServerPrincName,
- [out] DWORD *pAuthnLevel,
- [out] DWORD *pImpLevel,
- [out] void **pAuthInfo,
- [out] DWORD *pCapabilites
- );
- HRESULT SetBlanket
- (
- [in] IUnknown *pProxy,
- [in] DWORD dwAuthnSvc,
- [in] DWORD dwAuthzSvc,
- [in] OLECHAR *pServerPrincName,
- [in] DWORD dwAuthnLevel,
- [in] DWORD dwImpLevel,
- [in] void *pAuthInfo,
- [in] DWORD dwCapabilities
- );
- HRESULT CopyProxy
- (
- [in] IUnknown *pProxy,
- [out] IUnknown **ppCopy
- );
- }
- [
- local,
- object,
- uuid(0000013E-0000-0000-C000-000000000046)
- ]
- interface IServerSecurity : IUnknown
- {
- HRESULT QueryBlanket
- (
- [out] DWORD *pAuthnSvc,
- [out] DWORD *pAuthzSvc,
- [out] OLECHAR **pServerPrincName,
- [out] DWORD *pAuthnLevel,
- [out] DWORD *pImpLevel,
- [out] void **pPrivs,
- [in,out] DWORD *pCapabilities
- );
- HRESULT ImpersonateClient();
- HRESULT RevertToSelf();
- BOOL IsImpersonating();
- }
- [
- object,
- uuid(00000140-0000-0000-C000-000000000046)
- ]
- interface IClassActivator : IUnknown
- {
- HRESULT GetClassObject(
- [in] REFCLSID rclsid,
- [in] DWORD dwClassContext,
- [in] LCID locale,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppv);
- }
- [
- object,
- local,
- uuid(00000144-0000-0000-C000-000000000046)
- ]
- interface IRpcOptions : IUnknown
- {
- HRESULT Set([in] IUnknown * pPrx,
- [in] DWORD dwProperty,
- [in] ULONG_PTR dwValue);
- HRESULT Query([in] IUnknown * pPrx,
- [in] DWORD dwProperty,
- [out] ULONG_PTR * pdwValue);
- }
- enum
- {
- COMBND_RPCTIMEOUT = 0x01, // Rpc transport-specific timeout.
- COMBND_SERVER_LOCALITY = 0x02 // server locality
- };
- enum
- {
- SERVER_LOCALITY_PROCESS_LOCAL=0,
- SERVER_LOCALITY_MACHINE_LOCAL=1,
- SERVER_LOCALITY_REMOTE=2
- };
- cpp_quote( "#endif //DCOM" )
- [
- object,
- uuid(99caf010-415e-11cf-8814-00aa00b569f5),
- pointer_default(unique)
- ]
- interface IFillLockBytes: IUnknown
- {
- [local]
- HRESULT FillAppend
- (
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten
- );
- [call_as(FillAppend)]
- HRESULT _stdcall RemoteFillAppend(
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [local]
- HRESULT FillAt
- (
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten
- );
- [call_as(FillAt)]
- HRESULT _stdcall RemoteFillAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- HRESULT SetFillSize
- (
- [in] ULARGE_INTEGER ulSize
- );
- HRESULT Terminate
- (
- [in] BOOL bCanceled
- );
- }
- [
- object,
- uuid(a9d758a0-4617-11cf-95fc-00aa00680db4),
- pointer_default(unique)
- ]
- interface IProgressNotify: IUnknown
- {
- HRESULT OnProgress
- (
- [in] DWORD dwProgressCurrent,
- [in] DWORD dwProgressMaximum,
- [in] BOOL fAccurate,
- [in] BOOL fOwner
- );
- }
- [
- local,
- object,
- uuid(0e6d4d90-6738-11cf-9608-00aa00680db4),
- pointer_default(unique)
- ]
- interface ILayoutStorage: IUnknown
- {
- typedef struct tagStorageLayout
- {
- DWORD LayoutType;
- OLECHAR *pwcsElementName;
- LARGE_INTEGER cOffset;
- LARGE_INTEGER cBytes;
- } StorageLayout;
- HRESULT __stdcall LayoutScript
- (
- [in] StorageLayout *pStorageLayout,
- [in] DWORD nEntries,
- [in] DWORD glfInterleavedFlag
- );
- HRESULT __stdcall BeginMonitor(void);
- HRESULT __stdcall EndMonitor(void);
- HRESULT __stdcall ReLayoutDocfile
- (
- [in] OLECHAR *pwcsNewDfName
- );
- HRESULT __stdcall ReLayoutDocfileOnILockBytes
- (
- [in] ILockBytes *pILockBytes
- );
- }
- [
- object,
- uuid(30f3d47a-6447-11d1-8e3c-00c04fb9386d)
- ]
- interface IBlockingLock: IUnknown
- {
- HRESULT Lock([in] DWORD dwTimeout);
- HRESULT Unlock(void);
- }
- [
- object,
- uuid(bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4)
- ]
- interface ITimeAndNoticeControl: IUnknown
- {
- HRESULT SuppressChanges([in] DWORD res1,
- [in] DWORD res2);
- }
- [
- object,
- uuid(8d19c834-8879-11d1-83e9-00c04fc2c6d4)
- ]
- interface IOplockStorage: IUnknown
- {
- HRESULT CreateStorageEx([in] LPCWSTR pwcsName,
- [in] DWORD grfMode,
- [in] DWORD stgfmt,
- [in] DWORD grfAttrs,
- [in] REFIID riid,
- [out, iid_is(riid)] void**ppstgOpen);
- HRESULT OpenStorageEx([in] LPCWSTR pwcsName,
- [in] DWORD grfMode,
- [in] DWORD stgfmt,
- [in] DWORD grfAttrs,
- [in] REFIID riid,
- [out, iid_is(riid)] void**ppstgOpen);
- }
- [
- uuid(00000022-0000-0000-C000-000000000046),
- version(1.0),
- pointer_default(unique)
- , object
- ]
- interface ISurrogate : IUnknown
- {
- typedef [unique] ISurrogate* LPSURROGATE;
- HRESULT LoadDllServer(
- [in] REFCLSID Clsid);
- HRESULT FreeSurrogate();
- }
- [
- local,
- object,
- uuid(00000146-0000-0000-C000-000000000046)
- ]
- interface IGlobalInterfaceTable : IUnknown
- {
- typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
- HRESULT RegisterInterfaceInGlobal
- (
- [in] IUnknown *pUnk,
- [in] REFIID riid,
- [out] DWORD *pdwCookie
- );
- HRESULT RevokeInterfaceFromGlobal
- (
- [in] DWORD dwCookie
- );
- HRESULT GetInterfaceFromGlobal
- (
- [in] DWORD dwCookie,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppv
- );
- };
- [
- object,
- uuid(0e6d4d92-6738-11cf-9608-00aa00680db4),
- pointer_default(unique)
- ]
- interface IDirectWriterLock : IUnknown
- {
- HRESULT WaitForWriteAccess ([in] DWORD dwTimeout);
- HRESULT ReleaseWriteAccess ();
- HRESULT HaveWriteAccess ();
- }
- [
- object,
- uuid(00000030-0000-0000-C000-000000000046)
- ]
- interface ISynchronize : IUnknown
- {
- HRESULT Wait([in] DWORD dwFlags, [in] DWORD dwMilliseconds);
- HRESULT Signal();
- HRESULT Reset();
- }
- [
- local,
- object,
- uuid(00000031-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeHandle : IUnknown
- {
- HRESULT GetHandle([out] HANDLE *ph );
- }
- [
- local,
- object,
- uuid(00000032-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeEvent : ISynchronizeHandle
- {
- HRESULT SetEventHandle([in] HANDLE *ph );
- }
- [
- local,
- object,
- uuid(00000033-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeContainer : IUnknown
- {
- HRESULT AddSynchronize([in] ISynchronize *pSync);
- HRESULT WaitMultiple([in] DWORD dwFlags,
- [in] DWORD dwTimeOut,
- [out] ISynchronize **ppSync);
- }
- [
- local,
- object,
- uuid(00000025-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeMutex : ISynchronize
- {
- HRESULT ReleaseMutex();
- }
- [
- local,
- object,
- uuid(00000029-0000-0000-C000-000000000046)
- ]
- interface ICancelMethodCalls : IUnknown
- {
- typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
- HRESULT Cancel ([in] ULONG ulSeconds);
- HRESULT TestCancel (void);
- }
- [
- local,
- object,
- uuid(0000002A-0000-0000-C000-000000000046)
- ]
- interface IAsyncManager : IUnknown
- {
- typedef enum tagDCOM_CALL_STATE
- {
- DCOM_NONE = 0x0,
- DCOM_CALL_COMPLETE = 0x1,
- DCOM_CALL_CANCELED = 0x2,
- } DCOM_CALL_STATE;
- HRESULT CompleteCall ( [in] HRESULT Result );
- HRESULT GetCallContext( [in] REFIID riid, [out] void **pInterface );
- HRESULT GetState ( [out] ULONG *pulStateFlags);
- }
- [
- local,
- object,
- uuid(1c733a30-2a1c-11ce-ade5-00aa0044773d),
- pointer_default(unique)
- ]
- interface ICallFactory : IUnknown
- {
- HRESULT CreateCall(
- [in] REFIID riid,
- [in] IUnknown *pCtrlUnk,
- [in] REFIID riid2,
- [out, iid_is(riid2)] IUnknown **ppv );
- }
- [ uuid(00000149-0000-0000-C000-000000000046),
- version(0.0),
- pointer_default(unique),
- local,
- object
- ]
- interface IRpcHelper : IUnknown
- {
- HRESULT GetDCOMProtocolVersion(
- [out] DWORD *pComVersion);
- HRESULT GetIIDFromOBJREF(
- [in] void *pObjRef,
- [out] IID **piid);
- }
- [local,
- object,
- uuid(eb0cb9e8-7996-11d2-872e-0000f8080859),
- ]
- interface IReleaseMarshalBuffers : IUnknown
- {
- HRESULT ReleaseMarshalBuffer(
- [in] RPCOLEMESSAGE *pMsg,
- [in] DWORD dwFlags,
- [in,unique] IUnknown *pChnl);
- }
- [
- local,
- object,
- uuid(0000002B-0000-0000-C000-000000000046)
- ]
- interface IWaitMultiple : IUnknown
- {
- HRESULT WaitMultiple ( [in] DWORD timeout, [out] ISynchronize **pSync );
- HRESULT AddSynchronize( [in] ISynchronize *pSync );
- }
- [
- object,
- uuid(00000026-0000-0000-C000-000000000046)
- ]
- interface IUrlMon : IUnknown
- {
- HRESULT AsyncGetClassBits(
- [in] REFCLSID rclsid,
- [in, unique] LPCWSTR pszTYPE,
- [in, unique] LPCWSTR pszExt,
- [in] DWORD dwFileVersionMS,
- [in] DWORD dwFileVersionLS,
- [in, unique] LPCWSTR pszCodeBase,
- [in] IBindCtx * pbc,
- [in] DWORD dwClassContext,
- [in] REFIID riid,
- [in] DWORD flags);
- }
- [
- local,
- object,
- uuid(00000145-0000-0000-C000-000000000046)
- ]
- interface IForegroundTransfer : IUnknown
- {
- HRESULT AllowForegroundTransfer(
- [in] void *lpvReserved);
- }
- [
- local,
- object,
- uuid(00000147-0000-0000-C000-000000000046)
- ]
- interface IAddrTrackingControl : IUnknown
- {
- typedef [unique] IAddrTrackingControl* LPADDRTRACKINGCONTROL;
- HRESULT EnableCOMDynamicAddrTracking();
- HRESULT DisableCOMDynamicAddrTracking();
- };
- [
- local,
- object,
- uuid(00000148-0000-0000-C000-000000000046)
- ]
- interface IAddrExclusionControl : IUnknown
- {
- typedef [unique] IAddrExclusionControl* LPADDREXCLUSIONCONTROL;
- HRESULT GetCurrentAddrExclusionList([in]REFIID riid, [out, iid_is(riid)]void** ppEnumerator);
- HRESULT UpdateAddrExclusionList([in]IUnknown* pEnumerator);
- };
- /****************************************************************************
- * Pipe interfaces
- ****************************************************************************/
- #if (__midl >= 500)
- #define PIPE_ASYNC_UUID(async_iid) async_uuid(async_iid),
- #else
- #define PIPE_ASYNC_UUID(async_iid)
- #endif
- #define NEW_PIPE_INTERFACE(iid, async_iid, name, type) \
- [ \
- object, \
- uuid(iid), \
- PIPE_ASYNC_UUID(async_iid) \
- pointer_default(unique) \
- ] \
- interface IPipe##name : IUnknown \
- { \
- HRESULT Pull \
- ( \
- [out, size_is(cRequest), length_is(*pcReturned)] type *buf, \
- [in] ULONG cRequest, \
- [out] ULONG *pcReturned \
- ); \
- \
- HRESULT Push \
- ( \
- [in, size_is(cSent)] type *buf, \
- [in] ULONG cSent \
- ); \
- }
- NEW_PIPE_INTERFACE( DB2F3ACA-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACB-2F86-11d1-8E04-00C04FB9989A,
- Byte,
- BYTE)
- NEW_PIPE_INTERFACE( DB2F3ACC-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACD-2F86-11d1-8E04-00C04FB9989A,
- Long,
- LONG)
- NEW_PIPE_INTERFACE( DB2F3ACE-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACF-2F86-11d1-8E04-00C04FB9989A,
- Double,
- DOUBLE)
- /****************************************************************************
- * Thumbnail generator interface
- ****************************************************************************/
- [uuid(969dc708-5c76-11d1-8d86-0000f804b057),
- object
- ]
- interface IThumbnailExtractor : IUnknown
- {
- HRESULT ExtractThumbnail (
- [in] IStorage *pStg,
- [in] ULONG ulLength,
- [in] ULONG ulHeight,
- [out] ULONG *pulOutputLength,
- [out] ULONG *pulOutputHeight,
- [out] HBITMAP *phOutputBitmap
- );
- HRESULT OnFileUpdated (
- [in] IStorage *pStg
- );
- }
- /****************************************************************************
- * Dummy Interface to force inclusion of HICON and HDC in proxy/stub code....
- ****************************************************************************/
- [
- object,
- pointer_default(unique),
- uuid(947990de-cc28-11d2-a0f7-00805f858fb1)
- ]
- interface IDummyHICONIncluder : IUnknown
- {
- HRESULT Dummy([in]HICON h1, [in] HDC h2);
- }
- /****************************************************************************
- * ICOMThreadingInfo and enums
- ****************************************************************************/
- typedef enum _APTTYPE
- {
- APTTYPE_CURRENT = -1,
- APTTYPE_STA = 0,
- APTTYPE_MTA = 1,
- APTTYPE_NA = 2,
- APTTYPE_MAINSTA = 3
- } APTTYPE;
- typedef enum _THDTYPE
- {
- THDTYPE_BLOCKMESSAGES = 0,
- THDTYPE_PROCESSMESSAGES = 1
- } THDTYPE;
- typedef DWORD APARTMENTID;
- [
- local,
- object,
- uuid(000001ce-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IComThreadingInfo : IUnknown
- {
- HRESULT GetCurrentApartmentType( [out] APTTYPE* pAptType );
- HRESULT GetCurrentThreadType( [out] THDTYPE* pThreadType );
- HRESULT GetCurrentLogicalThreadId( [out] GUID* pguidLogicalThreadId );
- HRESULT SetCurrentLogicalThreadId( [in] REFGUID rguid );
- };
- [
- object,
- pointer_default(unique),
- uuid(72380d55-8d2b-43a3-8513-2b6ef31434e9)
- ]
- interface IProcessInitControl : IUnknown
- {
- HRESULT ResetInitializerTimeout([in] DWORD dwSecondsRemaining);
- };
- cpp_quote( "#if (_WIN32_WINNT >= 0x0501 )" )
- [
- local,
- object,
- uuid(00000034-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IInitializeSpy : IUnknown
- {
- typedef [unique] IInitializeSpy *LPINITIALIZESPY;
- HRESULT PreInitialize([in] DWORD dwCoInit, [in] DWORD dwCurThreadAptRefs);
- HRESULT PostInitialize([in] HRESULT hrCoInit, [in] DWORD dwCoInit, [in] DWORD dwNewThreadAptRefs);
- HRESULT PreUninitialize([in] DWORD dwCurThreadAptRefs);
- HRESULT PostUninitialize([in] DWORD dwNewThreadAptRefs);
- };
- cpp_quote( "#endif" )
- cpp_quote("#if ( _MSC_VER >= 800 )")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(pop)")
- cpp_quote("#else")
- cpp_quote("#pragma warning(default:4201)")
- cpp_quote("#endif")
- cpp_quote("#endif")
|