Wia.h 106 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549
  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for wia.idl, wia.acf:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __wia_h__
  27. #define __wia_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IWiaDevMgr_FWD_DEFINED__
  33. #define __IWiaDevMgr_FWD_DEFINED__
  34. typedef interface IWiaDevMgr IWiaDevMgr;
  35. #endif /* __IWiaDevMgr_FWD_DEFINED__ */
  36. #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
  37. #define __IEnumWIA_DEV_INFO_FWD_DEFINED__
  38. typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
  39. #endif /* __IEnumWIA_DEV_INFO_FWD_DEFINED__ */
  40. #ifndef __IWiaEventCallback_FWD_DEFINED__
  41. #define __IWiaEventCallback_FWD_DEFINED__
  42. typedef interface IWiaEventCallback IWiaEventCallback;
  43. #endif /* __IWiaEventCallback_FWD_DEFINED__ */
  44. #ifndef __IWiaDataCallback_FWD_DEFINED__
  45. #define __IWiaDataCallback_FWD_DEFINED__
  46. typedef interface IWiaDataCallback IWiaDataCallback;
  47. #endif /* __IWiaDataCallback_FWD_DEFINED__ */
  48. #ifndef __IWiaDataTransfer_FWD_DEFINED__
  49. #define __IWiaDataTransfer_FWD_DEFINED__
  50. typedef interface IWiaDataTransfer IWiaDataTransfer;
  51. #endif /* __IWiaDataTransfer_FWD_DEFINED__ */
  52. #ifndef __IWiaItem_FWD_DEFINED__
  53. #define __IWiaItem_FWD_DEFINED__
  54. typedef interface IWiaItem IWiaItem;
  55. #endif /* __IWiaItem_FWD_DEFINED__ */
  56. #ifndef __IWiaPropertyStorage_FWD_DEFINED__
  57. #define __IWiaPropertyStorage_FWD_DEFINED__
  58. typedef interface IWiaPropertyStorage IWiaPropertyStorage;
  59. #endif /* __IWiaPropertyStorage_FWD_DEFINED__ */
  60. #ifndef __IEnumWiaItem_FWD_DEFINED__
  61. #define __IEnumWiaItem_FWD_DEFINED__
  62. typedef interface IEnumWiaItem IEnumWiaItem;
  63. #endif /* __IEnumWiaItem_FWD_DEFINED__ */
  64. #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__
  65. #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__
  66. typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS;
  67. #endif /* __IEnumWIA_DEV_CAPS_FWD_DEFINED__ */
  68. #ifndef __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
  69. #define __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
  70. typedef interface IEnumWIA_FORMAT_INFO IEnumWIA_FORMAT_INFO;
  71. #endif /* __IEnumWIA_FORMAT_INFO_FWD_DEFINED__ */
  72. #ifndef __IWiaLog_FWD_DEFINED__
  73. #define __IWiaLog_FWD_DEFINED__
  74. typedef interface IWiaLog IWiaLog;
  75. #endif /* __IWiaLog_FWD_DEFINED__ */
  76. #ifndef __IWiaLogEx_FWD_DEFINED__
  77. #define __IWiaLogEx_FWD_DEFINED__
  78. typedef interface IWiaLogEx IWiaLogEx;
  79. #endif /* __IWiaLogEx_FWD_DEFINED__ */
  80. #ifndef __IWiaNotifyDevMgr_FWD_DEFINED__
  81. #define __IWiaNotifyDevMgr_FWD_DEFINED__
  82. typedef interface IWiaNotifyDevMgr IWiaNotifyDevMgr;
  83. #endif /* __IWiaNotifyDevMgr_FWD_DEFINED__ */
  84. #ifndef __IWiaItemExtras_FWD_DEFINED__
  85. #define __IWiaItemExtras_FWD_DEFINED__
  86. typedef interface IWiaItemExtras IWiaItemExtras;
  87. #endif /* __IWiaItemExtras_FWD_DEFINED__ */
  88. #ifndef __WiaDevMgr_FWD_DEFINED__
  89. #define __WiaDevMgr_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class WiaDevMgr WiaDevMgr;
  92. #else
  93. typedef struct WiaDevMgr WiaDevMgr;
  94. #endif /* __cplusplus */
  95. #endif /* __WiaDevMgr_FWD_DEFINED__ */
  96. #ifndef __WiaLog_FWD_DEFINED__
  97. #define __WiaLog_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class WiaLog WiaLog;
  100. #else
  101. typedef struct WiaLog WiaLog;
  102. #endif /* __cplusplus */
  103. #endif /* __WiaLog_FWD_DEFINED__ */
  104. /* header files for imported files */
  105. #include "unknwn.h"
  106. #include "oaidl.h"
  107. #include "propidl.h"
  108. #ifdef __cplusplus
  109. extern "C"{
  110. #endif
  111. void * __RPC_USER MIDL_user_allocate(size_t);
  112. void __RPC_USER MIDL_user_free( void * );
  113. /* interface __MIDL_itf_wia_0000 */
  114. /* [local] */
  115. typedef struct _WIA_DITHER_PATTERN_DATA
  116. {
  117. LONG lSize;
  118. BSTR bstrPatternName;
  119. LONG lPatternWidth;
  120. LONG lPatternLength;
  121. LONG cbPattern;
  122. /* [size_is] */ BYTE *pbPattern;
  123. } WIA_DITHER_PATTERN_DATA;
  124. typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA;
  125. typedef struct _WIA_PROPID_TO_NAME
  126. {
  127. PROPID propid;
  128. LPOLESTR pszName;
  129. } WIA_PROPID_TO_NAME;
  130. typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME;
  131. typedef struct _WIA_FORMAT_INFO
  132. {
  133. GUID guidFormatID;
  134. LONG lTymed;
  135. } WIA_FORMAT_INFO;
  136. typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO;
  137. #include "wiadef.h"
  138. extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_c_ifspec;
  139. extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_s_ifspec;
  140. #ifndef __IWiaDevMgr_INTERFACE_DEFINED__
  141. #define __IWiaDevMgr_INTERFACE_DEFINED__
  142. /* interface IWiaDevMgr */
  143. /* [unique][helpstring][uuid][object] */
  144. EXTERN_C const IID IID_IWiaDevMgr;
  145. #if defined(__cplusplus) && !defined(CINTERFACE)
  146. MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811")
  147. IWiaDevMgr : public IUnknown
  148. {
  149. public:
  150. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDeviceInfo(
  151. /* [in] */ LONG lFlag,
  152. /* [retval][out] */ IEnumWIA_DEV_INFO **ppIEnum) = 0;
  153. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateDevice(
  154. /* [in] */ BSTR bstrDeviceID,
  155. /* [out] */ IWiaItem **ppWiaItemRoot) = 0;
  156. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SelectDeviceDlg(
  157. /* [in] */ HWND hwndParent,
  158. /* [in] */ LONG lDeviceType,
  159. /* [in] */ LONG lFlags,
  160. /* [out][in] */ BSTR *pbstrDeviceID,
  161. /* [retval][out] */ IWiaItem **ppItemRoot) = 0;
  162. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SelectDeviceDlgID(
  163. /* [in] */ HWND hwndParent,
  164. /* [in] */ LONG lDeviceType,
  165. /* [in] */ LONG lFlags,
  166. /* [retval][out] */ BSTR *pbstrDeviceID) = 0;
  167. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetImageDlg(
  168. /* [in] */ HWND hwndParent,
  169. /* [in] */ LONG lDeviceType,
  170. /* [in] */ LONG lFlags,
  171. /* [in] */ LONG lIntent,
  172. /* [in] */ IWiaItem *pItemRoot,
  173. /* [in] */ BSTR bstrFilename,
  174. /* [out][in] */ GUID *pguidFormat) = 0;
  175. virtual /* [local] */ HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram(
  176. /* [in] */ LONG lFlags,
  177. /* [in] */ BSTR bstrDeviceID,
  178. /* [in] */ const GUID *pEventGUID,
  179. /* [in] */ BSTR bstrCommandline,
  180. /* [in] */ BSTR bstrName,
  181. /* [in] */ BSTR bstrDescription,
  182. /* [in] */ BSTR bstrIcon) = 0;
  183. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface(
  184. /* [in] */ LONG lFlags,
  185. /* [in] */ BSTR bstrDeviceID,
  186. /* [in] */ const GUID *pEventGUID,
  187. /* [unique][in] */ IWiaEventCallback *pIWiaEventCallback,
  188. /* [out] */ IUnknown **pEventObject) = 0;
  189. virtual /* [local] */ HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID(
  190. /* [in] */ LONG lFlags,
  191. /* [in] */ BSTR bstrDeviceID,
  192. /* [in] */ const GUID *pEventGUID,
  193. /* [unique][in] */ const GUID *pClsID,
  194. /* [in] */ BSTR bstrName,
  195. /* [in] */ BSTR bstrDescription,
  196. /* [in] */ BSTR bstrIcon) = 0;
  197. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDeviceDlg(
  198. /* [in] */ HWND hwndParent,
  199. /* [in] */ LONG lFlags) = 0;
  200. };
  201. #else /* C style interface */
  202. typedef struct IWiaDevMgrVtbl
  203. {
  204. BEGIN_INTERFACE
  205. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  206. IWiaDevMgr * This,
  207. /* [in] */ REFIID riid,
  208. /* [iid_is][out] */ void **ppvObject);
  209. ULONG ( STDMETHODCALLTYPE *AddRef )(
  210. IWiaDevMgr * This);
  211. ULONG ( STDMETHODCALLTYPE *Release )(
  212. IWiaDevMgr * This);
  213. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDeviceInfo )(
  214. IWiaDevMgr * This,
  215. /* [in] */ LONG lFlag,
  216. /* [retval][out] */ IEnumWIA_DEV_INFO **ppIEnum);
  217. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
  218. IWiaDevMgr * This,
  219. /* [in] */ BSTR bstrDeviceID,
  220. /* [out] */ IWiaItem **ppWiaItemRoot);
  221. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SelectDeviceDlg )(
  222. IWiaDevMgr * This,
  223. /* [in] */ HWND hwndParent,
  224. /* [in] */ LONG lDeviceType,
  225. /* [in] */ LONG lFlags,
  226. /* [out][in] */ BSTR *pbstrDeviceID,
  227. /* [retval][out] */ IWiaItem **ppItemRoot);
  228. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SelectDeviceDlgID )(
  229. IWiaDevMgr * This,
  230. /* [in] */ HWND hwndParent,
  231. /* [in] */ LONG lDeviceType,
  232. /* [in] */ LONG lFlags,
  233. /* [retval][out] */ BSTR *pbstrDeviceID);
  234. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetImageDlg )(
  235. IWiaDevMgr * This,
  236. /* [in] */ HWND hwndParent,
  237. /* [in] */ LONG lDeviceType,
  238. /* [in] */ LONG lFlags,
  239. /* [in] */ LONG lIntent,
  240. /* [in] */ IWiaItem *pItemRoot,
  241. /* [in] */ BSTR bstrFilename,
  242. /* [out][in] */ GUID *pguidFormat);
  243. /* [local] */ HRESULT ( STDMETHODCALLTYPE *RegisterEventCallbackProgram )(
  244. IWiaDevMgr * This,
  245. /* [in] */ LONG lFlags,
  246. /* [in] */ BSTR bstrDeviceID,
  247. /* [in] */ const GUID *pEventGUID,
  248. /* [in] */ BSTR bstrCommandline,
  249. /* [in] */ BSTR bstrName,
  250. /* [in] */ BSTR bstrDescription,
  251. /* [in] */ BSTR bstrIcon);
  252. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterEventCallbackInterface )(
  253. IWiaDevMgr * This,
  254. /* [in] */ LONG lFlags,
  255. /* [in] */ BSTR bstrDeviceID,
  256. /* [in] */ const GUID *pEventGUID,
  257. /* [unique][in] */ IWiaEventCallback *pIWiaEventCallback,
  258. /* [out] */ IUnknown **pEventObject);
  259. /* [local] */ HRESULT ( STDMETHODCALLTYPE *RegisterEventCallbackCLSID )(
  260. IWiaDevMgr * This,
  261. /* [in] */ LONG lFlags,
  262. /* [in] */ BSTR bstrDeviceID,
  263. /* [in] */ const GUID *pEventGUID,
  264. /* [unique][in] */ const GUID *pClsID,
  265. /* [in] */ BSTR bstrName,
  266. /* [in] */ BSTR bstrDescription,
  267. /* [in] */ BSTR bstrIcon);
  268. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddDeviceDlg )(
  269. IWiaDevMgr * This,
  270. /* [in] */ HWND hwndParent,
  271. /* [in] */ LONG lFlags);
  272. END_INTERFACE
  273. } IWiaDevMgrVtbl;
  274. interface IWiaDevMgr
  275. {
  276. CONST_VTBL struct IWiaDevMgrVtbl *lpVtbl;
  277. };
  278. #ifdef COBJMACROS
  279. #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) \
  280. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  281. #define IWiaDevMgr_AddRef(This) \
  282. (This)->lpVtbl -> AddRef(This)
  283. #define IWiaDevMgr_Release(This) \
  284. (This)->lpVtbl -> Release(This)
  285. #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) \
  286. (This)->lpVtbl -> EnumDeviceInfo(This,lFlag,ppIEnum)
  287. #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) \
  288. (This)->lpVtbl -> CreateDevice(This,bstrDeviceID,ppWiaItemRoot)
  289. #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) \
  290. (This)->lpVtbl -> SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
  291. #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) \
  292. (This)->lpVtbl -> SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
  293. #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) \
  294. (This)->lpVtbl -> GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)
  295. #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) \
  296. (This)->lpVtbl -> RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon)
  297. #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) \
  298. (This)->lpVtbl -> RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
  299. #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) \
  300. (This)->lpVtbl -> RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
  301. #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) \
  302. (This)->lpVtbl -> AddDeviceDlg(This,hwndParent,lFlags)
  303. #endif /* COBJMACROS */
  304. #endif /* C style interface */
  305. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_EnumDeviceInfo_Proxy(
  306. IWiaDevMgr * This,
  307. /* [in] */ LONG lFlag,
  308. /* [retval][out] */ IEnumWIA_DEV_INFO **ppIEnum);
  309. void __RPC_STUB IWiaDevMgr_EnumDeviceInfo_Stub(
  310. IRpcStubBuffer *This,
  311. IRpcChannelBuffer *_pRpcChannelBuffer,
  312. PRPC_MESSAGE _pRpcMessage,
  313. DWORD *_pdwStubPhase);
  314. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalCreateDevice_Proxy(
  315. IWiaDevMgr * This,
  316. /* [in] */ BSTR bstrDeviceID,
  317. /* [out] */ IWiaItem **ppWiaItemRoot);
  318. void __RPC_STUB IWiaDevMgr_LocalCreateDevice_Stub(
  319. IRpcStubBuffer *This,
  320. IRpcChannelBuffer *_pRpcChannelBuffer,
  321. PRPC_MESSAGE _pRpcMessage,
  322. DWORD *_pdwStubPhase);
  323. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalSelectDeviceDlg_Proxy(
  324. IWiaDevMgr * This,
  325. /* [in] */ HWND hwndParent,
  326. /* [in] */ LONG lDeviceType,
  327. /* [in] */ LONG lFlags,
  328. /* [out][in] */ BSTR *pbstrDeviceID,
  329. /* [retval][out] */ IWiaItem **ppItemRoot);
  330. void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlg_Stub(
  331. IRpcStubBuffer *This,
  332. IRpcChannelBuffer *_pRpcChannelBuffer,
  333. PRPC_MESSAGE _pRpcMessage,
  334. DWORD *_pdwStubPhase);
  335. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalSelectDeviceDlgID_Proxy(
  336. IWiaDevMgr * This,
  337. /* [in] */ HWND hwndParent,
  338. /* [in] */ LONG lDeviceType,
  339. /* [in] */ LONG lFlags,
  340. /* [retval][out] */ BSTR *pbstrDeviceID);
  341. void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlgID_Stub(
  342. IRpcStubBuffer *This,
  343. IRpcChannelBuffer *_pRpcChannelBuffer,
  344. PRPC_MESSAGE _pRpcMessage,
  345. DWORD *_pdwStubPhase);
  346. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalGetImageDlg_Proxy(
  347. IWiaDevMgr * This,
  348. /* [in] */ HWND hwndParent,
  349. /* [in] */ LONG lDeviceType,
  350. /* [in] */ LONG lFlags,
  351. /* [in] */ LONG lIntent,
  352. /* [in] */ IWiaItem *pItemRoot,
  353. /* [in] */ BSTR bstrFilename,
  354. /* [out][in] */ GUID *pguidFormat);
  355. void __RPC_STUB IWiaDevMgr_LocalGetImageDlg_Stub(
  356. IRpcStubBuffer *This,
  357. IRpcChannelBuffer *_pRpcChannelBuffer,
  358. PRPC_MESSAGE _pRpcMessage,
  359. DWORD *_pdwStubPhase);
  360. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalRegisterEventCallbackProgram_Proxy(
  361. IWiaDevMgr * This,
  362. /* [in] */ LONG lFlags,
  363. /* [in] */ BSTR bstrDeviceID,
  364. /* [in] */ const GUID *pEventGUID,
  365. /* [in] */ BSTR bstrCommandline,
  366. /* [in] */ BSTR bstrName,
  367. /* [in] */ BSTR bstrDescription,
  368. /* [in] */ BSTR bstrIcon);
  369. void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackProgram_Stub(
  370. IRpcStubBuffer *This,
  371. IRpcChannelBuffer *_pRpcChannelBuffer,
  372. PRPC_MESSAGE _pRpcMessage,
  373. DWORD *_pdwStubPhase);
  374. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackInterface_Proxy(
  375. IWiaDevMgr * This,
  376. /* [in] */ LONG lFlags,
  377. /* [in] */ BSTR bstrDeviceID,
  378. /* [in] */ const GUID *pEventGUID,
  379. /* [unique][in] */ IWiaEventCallback *pIWiaEventCallback,
  380. /* [out] */ IUnknown **pEventObject);
  381. void __RPC_STUB IWiaDevMgr_RegisterEventCallbackInterface_Stub(
  382. IRpcStubBuffer *This,
  383. IRpcChannelBuffer *_pRpcChannelBuffer,
  384. PRPC_MESSAGE _pRpcMessage,
  385. DWORD *_pdwStubPhase);
  386. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalRegisterEventCallbackCLSID_Proxy(
  387. IWiaDevMgr * This,
  388. /* [in] */ LONG lFlags,
  389. /* [in] */ BSTR bstrDeviceID,
  390. /* [in] */ const GUID *pEventGUID,
  391. /* [unique][in] */ const GUID *pClsID,
  392. /* [in] */ BSTR bstrName,
  393. /* [in] */ BSTR bstrDescription,
  394. /* [in] */ BSTR bstrIcon);
  395. void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackCLSID_Stub(
  396. IRpcStubBuffer *This,
  397. IRpcChannelBuffer *_pRpcChannelBuffer,
  398. PRPC_MESSAGE _pRpcMessage,
  399. DWORD *_pdwStubPhase);
  400. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_AddDeviceDlg_Proxy(
  401. IWiaDevMgr * This,
  402. /* [in] */ HWND hwndParent,
  403. /* [in] */ LONG lFlags);
  404. void __RPC_STUB IWiaDevMgr_AddDeviceDlg_Stub(
  405. IRpcStubBuffer *This,
  406. IRpcChannelBuffer *_pRpcChannelBuffer,
  407. PRPC_MESSAGE _pRpcMessage,
  408. DWORD *_pdwStubPhase);
  409. #endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */
  410. #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
  411. #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
  412. /* interface IEnumWIA_DEV_INFO */
  413. /* [unique][helpstring][uuid][object] */
  414. EXTERN_C const IID IID_IEnumWIA_DEV_INFO;
  415. #if defined(__cplusplus) && !defined(CINTERFACE)
  416. MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811")
  417. IEnumWIA_DEV_INFO : public IUnknown
  418. {
  419. public:
  420. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  421. /* [in] */ ULONG celt,
  422. /* [length_is][size_is][out] */ IWiaPropertyStorage **rgelt,
  423. /* [unique][out][in] */ ULONG *pceltFetched) = 0;
  424. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
  425. /* [in] */ ULONG celt) = 0;
  426. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  427. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone(
  428. /* [out] */ IEnumWIA_DEV_INFO **ppIEnum) = 0;
  429. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount(
  430. /* [out] */ ULONG *celt) = 0;
  431. };
  432. #else /* C style interface */
  433. typedef struct IEnumWIA_DEV_INFOVtbl
  434. {
  435. BEGIN_INTERFACE
  436. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  437. IEnumWIA_DEV_INFO * This,
  438. /* [in] */ REFIID riid,
  439. /* [iid_is][out] */ void **ppvObject);
  440. ULONG ( STDMETHODCALLTYPE *AddRef )(
  441. IEnumWIA_DEV_INFO * This);
  442. ULONG ( STDMETHODCALLTYPE *Release )(
  443. IEnumWIA_DEV_INFO * This);
  444. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  445. IEnumWIA_DEV_INFO * This,
  446. /* [in] */ ULONG celt,
  447. /* [length_is][size_is][out] */ IWiaPropertyStorage **rgelt,
  448. /* [unique][out][in] */ ULONG *pceltFetched);
  449. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
  450. IEnumWIA_DEV_INFO * This,
  451. /* [in] */ ULONG celt);
  452. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
  453. IEnumWIA_DEV_INFO * This);
  454. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )(
  455. IEnumWIA_DEV_INFO * This,
  456. /* [out] */ IEnumWIA_DEV_INFO **ppIEnum);
  457. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
  458. IEnumWIA_DEV_INFO * This,
  459. /* [out] */ ULONG *celt);
  460. END_INTERFACE
  461. } IEnumWIA_DEV_INFOVtbl;
  462. interface IEnumWIA_DEV_INFO
  463. {
  464. CONST_VTBL struct IEnumWIA_DEV_INFOVtbl *lpVtbl;
  465. };
  466. #ifdef COBJMACROS
  467. #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) \
  468. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  469. #define IEnumWIA_DEV_INFO_AddRef(This) \
  470. (This)->lpVtbl -> AddRef(This)
  471. #define IEnumWIA_DEV_INFO_Release(This) \
  472. (This)->lpVtbl -> Release(This)
  473. #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) \
  474. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  475. #define IEnumWIA_DEV_INFO_Skip(This,celt) \
  476. (This)->lpVtbl -> Skip(This,celt)
  477. #define IEnumWIA_DEV_INFO_Reset(This) \
  478. (This)->lpVtbl -> Reset(This)
  479. #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) \
  480. (This)->lpVtbl -> Clone(This,ppIEnum)
  481. #define IEnumWIA_DEV_INFO_GetCount(This,celt) \
  482. (This)->lpVtbl -> GetCount(This,celt)
  483. #endif /* COBJMACROS */
  484. #endif /* C style interface */
  485. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_RemoteNext_Proxy(
  486. IEnumWIA_DEV_INFO * This,
  487. /* [in] */ ULONG celt,
  488. /* [length_is][size_is][out] */ IWiaPropertyStorage **rgelt,
  489. /* [unique][out][in] */ ULONG *pceltFetched);
  490. void __RPC_STUB IEnumWIA_DEV_INFO_RemoteNext_Stub(
  491. IRpcStubBuffer *This,
  492. IRpcChannelBuffer *_pRpcChannelBuffer,
  493. PRPC_MESSAGE _pRpcMessage,
  494. DWORD *_pdwStubPhase);
  495. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Skip_Proxy(
  496. IEnumWIA_DEV_INFO * This,
  497. /* [in] */ ULONG celt);
  498. void __RPC_STUB IEnumWIA_DEV_INFO_Skip_Stub(
  499. IRpcStubBuffer *This,
  500. IRpcChannelBuffer *_pRpcChannelBuffer,
  501. PRPC_MESSAGE _pRpcMessage,
  502. DWORD *_pdwStubPhase);
  503. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Reset_Proxy(
  504. IEnumWIA_DEV_INFO * This);
  505. void __RPC_STUB IEnumWIA_DEV_INFO_Reset_Stub(
  506. IRpcStubBuffer *This,
  507. IRpcChannelBuffer *_pRpcChannelBuffer,
  508. PRPC_MESSAGE _pRpcMessage,
  509. DWORD *_pdwStubPhase);
  510. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Clone_Proxy(
  511. IEnumWIA_DEV_INFO * This,
  512. /* [out] */ IEnumWIA_DEV_INFO **ppIEnum);
  513. void __RPC_STUB IEnumWIA_DEV_INFO_Clone_Stub(
  514. IRpcStubBuffer *This,
  515. IRpcChannelBuffer *_pRpcChannelBuffer,
  516. PRPC_MESSAGE _pRpcMessage,
  517. DWORD *_pdwStubPhase);
  518. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_GetCount_Proxy(
  519. IEnumWIA_DEV_INFO * This,
  520. /* [out] */ ULONG *celt);
  521. void __RPC_STUB IEnumWIA_DEV_INFO_GetCount_Stub(
  522. IRpcStubBuffer *This,
  523. IRpcChannelBuffer *_pRpcChannelBuffer,
  524. PRPC_MESSAGE _pRpcMessage,
  525. DWORD *_pdwStubPhase);
  526. #endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */
  527. #ifndef __IWiaEventCallback_INTERFACE_DEFINED__
  528. #define __IWiaEventCallback_INTERFACE_DEFINED__
  529. /* interface IWiaEventCallback */
  530. /* [unique][helpstring][uuid][object] */
  531. EXTERN_C const IID IID_IWiaEventCallback;
  532. #if defined(__cplusplus) && !defined(CINTERFACE)
  533. MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e")
  534. IWiaEventCallback : public IUnknown
  535. {
  536. public:
  537. virtual HRESULT STDMETHODCALLTYPE ImageEventCallback(
  538. /* [in] */ const GUID *pEventGUID,
  539. /* [in] */ BSTR bstrEventDescription,
  540. /* [in] */ BSTR bstrDeviceID,
  541. /* [in] */ BSTR bstrDeviceDescription,
  542. /* [in] */ DWORD dwDeviceType,
  543. /* [in] */ BSTR bstrFullItemName,
  544. /* [out][in] */ ULONG *pulEventType,
  545. /* [in] */ ULONG ulReserved) = 0;
  546. };
  547. #else /* C style interface */
  548. typedef struct IWiaEventCallbackVtbl
  549. {
  550. BEGIN_INTERFACE
  551. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  552. IWiaEventCallback * This,
  553. /* [in] */ REFIID riid,
  554. /* [iid_is][out] */ void **ppvObject);
  555. ULONG ( STDMETHODCALLTYPE *AddRef )(
  556. IWiaEventCallback * This);
  557. ULONG ( STDMETHODCALLTYPE *Release )(
  558. IWiaEventCallback * This);
  559. HRESULT ( STDMETHODCALLTYPE *ImageEventCallback )(
  560. IWiaEventCallback * This,
  561. /* [in] */ const GUID *pEventGUID,
  562. /* [in] */ BSTR bstrEventDescription,
  563. /* [in] */ BSTR bstrDeviceID,
  564. /* [in] */ BSTR bstrDeviceDescription,
  565. /* [in] */ DWORD dwDeviceType,
  566. /* [in] */ BSTR bstrFullItemName,
  567. /* [out][in] */ ULONG *pulEventType,
  568. /* [in] */ ULONG ulReserved);
  569. END_INTERFACE
  570. } IWiaEventCallbackVtbl;
  571. interface IWiaEventCallback
  572. {
  573. CONST_VTBL struct IWiaEventCallbackVtbl *lpVtbl;
  574. };
  575. #ifdef COBJMACROS
  576. #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) \
  577. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  578. #define IWiaEventCallback_AddRef(This) \
  579. (This)->lpVtbl -> AddRef(This)
  580. #define IWiaEventCallback_Release(This) \
  581. (This)->lpVtbl -> Release(This)
  582. #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) \
  583. (This)->lpVtbl -> ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved)
  584. #endif /* COBJMACROS */
  585. #endif /* C style interface */
  586. HRESULT STDMETHODCALLTYPE IWiaEventCallback_ImageEventCallback_Proxy(
  587. IWiaEventCallback * This,
  588. /* [in] */ const GUID *pEventGUID,
  589. /* [in] */ BSTR bstrEventDescription,
  590. /* [in] */ BSTR bstrDeviceID,
  591. /* [in] */ BSTR bstrDeviceDescription,
  592. /* [in] */ DWORD dwDeviceType,
  593. /* [in] */ BSTR bstrFullItemName,
  594. /* [out][in] */ ULONG *pulEventType,
  595. /* [in] */ ULONG ulReserved);
  596. void __RPC_STUB IWiaEventCallback_ImageEventCallback_Stub(
  597. IRpcStubBuffer *This,
  598. IRpcChannelBuffer *_pRpcChannelBuffer,
  599. PRPC_MESSAGE _pRpcMessage,
  600. DWORD *_pdwStubPhase);
  601. #endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */
  602. /* interface __MIDL_itf_wia_0121 */
  603. /* [local] */
  604. typedef struct _WIA_DATA_CALLBACK_HEADER
  605. {
  606. LONG lSize;
  607. GUID guidFormatID;
  608. LONG lBufferSize;
  609. LONG lPageCount;
  610. } WIA_DATA_CALLBACK_HEADER;
  611. typedef struct _WIA_DATA_CALLBACK_HEADER *PWIA_DATA_CALLBACK_HEADER;
  612. extern RPC_IF_HANDLE __MIDL_itf_wia_0121_v0_0_c_ifspec;
  613. extern RPC_IF_HANDLE __MIDL_itf_wia_0121_v0_0_s_ifspec;
  614. #ifndef __IWiaDataCallback_INTERFACE_DEFINED__
  615. #define __IWiaDataCallback_INTERFACE_DEFINED__
  616. /* interface IWiaDataCallback */
  617. /* [unique][helpstring][uuid][object] */
  618. EXTERN_C const IID IID_IWiaDataCallback;
  619. #if defined(__cplusplus) && !defined(CINTERFACE)
  620. MIDL_INTERFACE("a558a866-a5b0-11d2-a08f-00c04f72dc3c")
  621. IWiaDataCallback : public IUnknown
  622. {
  623. public:
  624. virtual /* [local] */ HRESULT STDMETHODCALLTYPE BandedDataCallback(
  625. /* [in] */ LONG lMessage,
  626. /* [in] */ LONG lStatus,
  627. /* [in] */ LONG lPercentComplete,
  628. /* [in] */ LONG lOffset,
  629. /* [in] */ LONG lLength,
  630. /* [in] */ LONG lReserved,
  631. /* [in] */ LONG lResLength,
  632. /* [size_is][in] */ BYTE *pbBuffer) = 0;
  633. };
  634. #else /* C style interface */
  635. typedef struct IWiaDataCallbackVtbl
  636. {
  637. BEGIN_INTERFACE
  638. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  639. IWiaDataCallback * This,
  640. /* [in] */ REFIID riid,
  641. /* [iid_is][out] */ void **ppvObject);
  642. ULONG ( STDMETHODCALLTYPE *AddRef )(
  643. IWiaDataCallback * This);
  644. ULONG ( STDMETHODCALLTYPE *Release )(
  645. IWiaDataCallback * This);
  646. /* [local] */ HRESULT ( STDMETHODCALLTYPE *BandedDataCallback )(
  647. IWiaDataCallback * This,
  648. /* [in] */ LONG lMessage,
  649. /* [in] */ LONG lStatus,
  650. /* [in] */ LONG lPercentComplete,
  651. /* [in] */ LONG lOffset,
  652. /* [in] */ LONG lLength,
  653. /* [in] */ LONG lReserved,
  654. /* [in] */ LONG lResLength,
  655. /* [size_is][in] */ BYTE *pbBuffer);
  656. END_INTERFACE
  657. } IWiaDataCallbackVtbl;
  658. interface IWiaDataCallback
  659. {
  660. CONST_VTBL struct IWiaDataCallbackVtbl *lpVtbl;
  661. };
  662. #ifdef COBJMACROS
  663. #define IWiaDataCallback_QueryInterface(This,riid,ppvObject) \
  664. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  665. #define IWiaDataCallback_AddRef(This) \
  666. (This)->lpVtbl -> AddRef(This)
  667. #define IWiaDataCallback_Release(This) \
  668. (This)->lpVtbl -> Release(This)
  669. #define IWiaDataCallback_BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer) \
  670. (This)->lpVtbl -> BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer)
  671. #endif /* COBJMACROS */
  672. #endif /* C style interface */
  673. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_RemoteBandedDataCallback_Proxy(
  674. IWiaDataCallback * This,
  675. /* [in] */ LONG lMessage,
  676. /* [in] */ LONG lStatus,
  677. /* [in] */ LONG lPercentComplete,
  678. /* [in] */ LONG lOffset,
  679. /* [in] */ LONG lLength,
  680. /* [in] */ LONG lReserved,
  681. /* [in] */ LONG lResLength,
  682. /* [unique][size_is][in] */ BYTE *pbBuffer);
  683. void __RPC_STUB IWiaDataCallback_RemoteBandedDataCallback_Stub(
  684. IRpcStubBuffer *This,
  685. IRpcChannelBuffer *_pRpcChannelBuffer,
  686. PRPC_MESSAGE _pRpcMessage,
  687. DWORD *_pdwStubPhase);
  688. #endif /* __IWiaDataCallback_INTERFACE_DEFINED__ */
  689. /* interface __MIDL_itf_wia_0122 */
  690. /* [local] */
  691. typedef struct _WIA_DATA_TRANSFER_INFO
  692. {
  693. ULONG ulSize;
  694. ULONG ulSection;
  695. ULONG ulBufferSize;
  696. BOOL bDoubleBuffer;
  697. ULONG ulReserved1;
  698. ULONG ulReserved2;
  699. ULONG ulReserved3;
  700. } WIA_DATA_TRANSFER_INFO;
  701. typedef struct _WIA_DATA_TRANSFER_INFO *PWIA_DATA_TRANSFER_INFO;
  702. typedef struct _WIA_EXTENDED_TRANSFER_INFO
  703. {
  704. ULONG ulSize;
  705. ULONG ulMinBufferSize;
  706. ULONG ulOptimalBufferSize;
  707. ULONG ulMaxBufferSize;
  708. ULONG ulNumBuffers;
  709. } WIA_EXTENDED_TRANSFER_INFO;
  710. typedef struct _WIA_EXTENDED_TRANSFER_INFO *PWIA_EXTENDED_TRANSFER_INFO;
  711. extern RPC_IF_HANDLE __MIDL_itf_wia_0122_v0_0_c_ifspec;
  712. extern RPC_IF_HANDLE __MIDL_itf_wia_0122_v0_0_s_ifspec;
  713. #ifndef __IWiaDataTransfer_INTERFACE_DEFINED__
  714. #define __IWiaDataTransfer_INTERFACE_DEFINED__
  715. /* interface IWiaDataTransfer */
  716. /* [unique][helpstring][uuid][object] */
  717. EXTERN_C const IID IID_IWiaDataTransfer;
  718. #if defined(__cplusplus) && !defined(CINTERFACE)
  719. MIDL_INTERFACE("a6cef998-a5b0-11d2-a08f-00c04f72dc3c")
  720. IWiaDataTransfer : public IUnknown
  721. {
  722. public:
  723. virtual /* [local] */ HRESULT STDMETHODCALLTYPE idtGetData(
  724. /* [out][in] */ LPSTGMEDIUM pMedium,
  725. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback) = 0;
  726. virtual /* [local] */ HRESULT STDMETHODCALLTYPE idtGetBandedData(
  727. /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  728. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback) = 0;
  729. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE idtQueryGetData(
  730. /* [unique][in] */ WIA_FORMAT_INFO *pfe) = 0;
  731. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE idtEnumWIA_FORMAT_INFO(
  732. /* [out] */ IEnumWIA_FORMAT_INFO **ppEnum) = 0;
  733. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE idtGetExtendedTransferInfo(
  734. /* [out] */ PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo) = 0;
  735. };
  736. #else /* C style interface */
  737. typedef struct IWiaDataTransferVtbl
  738. {
  739. BEGIN_INTERFACE
  740. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  741. IWiaDataTransfer * This,
  742. /* [in] */ REFIID riid,
  743. /* [iid_is][out] */ void **ppvObject);
  744. ULONG ( STDMETHODCALLTYPE *AddRef )(
  745. IWiaDataTransfer * This);
  746. ULONG ( STDMETHODCALLTYPE *Release )(
  747. IWiaDataTransfer * This);
  748. /* [local] */ HRESULT ( STDMETHODCALLTYPE *idtGetData )(
  749. IWiaDataTransfer * This,
  750. /* [out][in] */ LPSTGMEDIUM pMedium,
  751. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  752. /* [local] */ HRESULT ( STDMETHODCALLTYPE *idtGetBandedData )(
  753. IWiaDataTransfer * This,
  754. /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  755. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  756. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *idtQueryGetData )(
  757. IWiaDataTransfer * This,
  758. /* [unique][in] */ WIA_FORMAT_INFO *pfe);
  759. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *idtEnumWIA_FORMAT_INFO )(
  760. IWiaDataTransfer * This,
  761. /* [out] */ IEnumWIA_FORMAT_INFO **ppEnum);
  762. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *idtGetExtendedTransferInfo )(
  763. IWiaDataTransfer * This,
  764. /* [out] */ PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo);
  765. END_INTERFACE
  766. } IWiaDataTransferVtbl;
  767. interface IWiaDataTransfer
  768. {
  769. CONST_VTBL struct IWiaDataTransferVtbl *lpVtbl;
  770. };
  771. #ifdef COBJMACROS
  772. #define IWiaDataTransfer_QueryInterface(This,riid,ppvObject) \
  773. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  774. #define IWiaDataTransfer_AddRef(This) \
  775. (This)->lpVtbl -> AddRef(This)
  776. #define IWiaDataTransfer_Release(This) \
  777. (This)->lpVtbl -> Release(This)
  778. #define IWiaDataTransfer_idtGetData(This,pMedium,pIWiaDataCallback) \
  779. (This)->lpVtbl -> idtGetData(This,pMedium,pIWiaDataCallback)
  780. #define IWiaDataTransfer_idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback) \
  781. (This)->lpVtbl -> idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback)
  782. #define IWiaDataTransfer_idtQueryGetData(This,pfe) \
  783. (This)->lpVtbl -> idtQueryGetData(This,pfe)
  784. #define IWiaDataTransfer_idtEnumWIA_FORMAT_INFO(This,ppEnum) \
  785. (This)->lpVtbl -> idtEnumWIA_FORMAT_INFO(This,ppEnum)
  786. #define IWiaDataTransfer_idtGetExtendedTransferInfo(This,pExtendedTransferInfo) \
  787. (This)->lpVtbl -> idtGetExtendedTransferInfo(This,pExtendedTransferInfo)
  788. #endif /* COBJMACROS */
  789. #endif /* C style interface */
  790. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetDataEx_Proxy(
  791. IWiaDataTransfer * This,
  792. /* [out][in] */ LPSTGMEDIUM pMedium,
  793. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  794. void __RPC_STUB IWiaDataTransfer_idtGetDataEx_Stub(
  795. IRpcStubBuffer *This,
  796. IRpcChannelBuffer *_pRpcChannelBuffer,
  797. PRPC_MESSAGE _pRpcMessage,
  798. DWORD *_pdwStubPhase);
  799. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedDataEx_Proxy(
  800. IWiaDataTransfer * This,
  801. /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  802. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  803. void __RPC_STUB IWiaDataTransfer_idtGetBandedDataEx_Stub(
  804. IRpcStubBuffer *This,
  805. IRpcChannelBuffer *_pRpcChannelBuffer,
  806. PRPC_MESSAGE _pRpcMessage,
  807. DWORD *_pdwStubPhase);
  808. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtQueryGetData_Proxy(
  809. IWiaDataTransfer * This,
  810. /* [unique][in] */ WIA_FORMAT_INFO *pfe);
  811. void __RPC_STUB IWiaDataTransfer_idtQueryGetData_Stub(
  812. IRpcStubBuffer *This,
  813. IRpcChannelBuffer *_pRpcChannelBuffer,
  814. PRPC_MESSAGE _pRpcMessage,
  815. DWORD *_pdwStubPhase);
  816. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Proxy(
  817. IWiaDataTransfer * This,
  818. /* [out] */ IEnumWIA_FORMAT_INFO **ppEnum);
  819. void __RPC_STUB IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Stub(
  820. IRpcStubBuffer *This,
  821. IRpcChannelBuffer *_pRpcChannelBuffer,
  822. PRPC_MESSAGE _pRpcMessage,
  823. DWORD *_pdwStubPhase);
  824. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetExtendedTransferInfo_Proxy(
  825. IWiaDataTransfer * This,
  826. /* [out] */ PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo);
  827. void __RPC_STUB IWiaDataTransfer_idtGetExtendedTransferInfo_Stub(
  828. IRpcStubBuffer *This,
  829. IRpcChannelBuffer *_pRpcChannelBuffer,
  830. PRPC_MESSAGE _pRpcMessage,
  831. DWORD *_pdwStubPhase);
  832. #endif /* __IWiaDataTransfer_INTERFACE_DEFINED__ */
  833. #ifndef __IWiaItem_INTERFACE_DEFINED__
  834. #define __IWiaItem_INTERFACE_DEFINED__
  835. /* interface IWiaItem */
  836. /* [unique][helpstring][uuid][object] */
  837. EXTERN_C const IID IID_IWiaItem;
  838. #if defined(__cplusplus) && !defined(CINTERFACE)
  839. MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145")
  840. IWiaItem : public IUnknown
  841. {
  842. public:
  843. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetItemType(
  844. /* [out] */ LONG *pItemType) = 0;
  845. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AnalyzeItem(
  846. /* [in] */ LONG lFlags) = 0;
  847. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumChildItems(
  848. /* [out] */ IEnumWiaItem **ppIEnumWiaItem) = 0;
  849. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem(
  850. /* [in] */ LONG lFlags) = 0;
  851. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateChildItem(
  852. /* [in] */ LONG lFlags,
  853. /* [in] */ BSTR bstrItemName,
  854. /* [in] */ BSTR bstrFullItemName,
  855. /* [out] */ IWiaItem **ppIWiaItem) = 0;
  856. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo(
  857. /* [in] */ LONG lFlags,
  858. /* [in] */ const GUID *pEventGUID,
  859. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum) = 0;
  860. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindItemByName(
  861. /* [in] */ LONG lFlags,
  862. /* [in] */ BSTR bstrFullItemName,
  863. /* [out] */ IWiaItem **ppIWiaItem) = 0;
  864. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DeviceDlg(
  865. /* [in] */ HWND hwndParent,
  866. /* [in] */ LONG lFlags,
  867. /* [in] */ LONG lIntent,
  868. /* [out] */ LONG *plItemCount,
  869. /* [out] */ IWiaItem ***ppIWiaItem) = 0;
  870. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeviceCommand(
  871. /* [in] */ LONG lFlags,
  872. /* [in] */ const GUID *pCmdGUID,
  873. /* [out][in] */ IWiaItem **pIWiaItem) = 0;
  874. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRootItem(
  875. /* [out] */ IWiaItem **ppIWiaItem) = 0;
  876. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities(
  877. /* [in] */ LONG lFlags,
  878. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0;
  879. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpItemData(
  880. /* [out] */ BSTR *bstrData) = 0;
  881. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpDrvItemData(
  882. /* [out] */ BSTR *bstrData) = 0;
  883. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpTreeItemData(
  884. /* [out] */ BSTR *bstrData) = 0;
  885. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Diagnostic(
  886. /* [in] */ ULONG ulSize,
  887. /* [size_is][in] */ BYTE *pBuffer) = 0;
  888. };
  889. #else /* C style interface */
  890. typedef struct IWiaItemVtbl
  891. {
  892. BEGIN_INTERFACE
  893. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  894. IWiaItem * This,
  895. /* [in] */ REFIID riid,
  896. /* [iid_is][out] */ void **ppvObject);
  897. ULONG ( STDMETHODCALLTYPE *AddRef )(
  898. IWiaItem * This);
  899. ULONG ( STDMETHODCALLTYPE *Release )(
  900. IWiaItem * This);
  901. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetItemType )(
  902. IWiaItem * This,
  903. /* [out] */ LONG *pItemType);
  904. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AnalyzeItem )(
  905. IWiaItem * This,
  906. /* [in] */ LONG lFlags);
  907. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumChildItems )(
  908. IWiaItem * This,
  909. /* [out] */ IEnumWiaItem **ppIEnumWiaItem);
  910. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
  911. IWiaItem * This,
  912. /* [in] */ LONG lFlags);
  913. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateChildItem )(
  914. IWiaItem * This,
  915. /* [in] */ LONG lFlags,
  916. /* [in] */ BSTR bstrItemName,
  917. /* [in] */ BSTR bstrFullItemName,
  918. /* [out] */ IWiaItem **ppIWiaItem);
  919. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumRegisterEventInfo )(
  920. IWiaItem * This,
  921. /* [in] */ LONG lFlags,
  922. /* [in] */ const GUID *pEventGUID,
  923. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum);
  924. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindItemByName )(
  925. IWiaItem * This,
  926. /* [in] */ LONG lFlags,
  927. /* [in] */ BSTR bstrFullItemName,
  928. /* [out] */ IWiaItem **ppIWiaItem);
  929. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DeviceDlg )(
  930. IWiaItem * This,
  931. /* [in] */ HWND hwndParent,
  932. /* [in] */ LONG lFlags,
  933. /* [in] */ LONG lIntent,
  934. /* [out] */ LONG *plItemCount,
  935. /* [out] */ IWiaItem ***ppIWiaItem);
  936. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeviceCommand )(
  937. IWiaItem * This,
  938. /* [in] */ LONG lFlags,
  939. /* [in] */ const GUID *pCmdGUID,
  940. /* [out][in] */ IWiaItem **pIWiaItem);
  941. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRootItem )(
  942. IWiaItem * This,
  943. /* [out] */ IWiaItem **ppIWiaItem);
  944. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDeviceCapabilities )(
  945. IWiaItem * This,
  946. /* [in] */ LONG lFlags,
  947. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS);
  948. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpItemData )(
  949. IWiaItem * This,
  950. /* [out] */ BSTR *bstrData);
  951. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpDrvItemData )(
  952. IWiaItem * This,
  953. /* [out] */ BSTR *bstrData);
  954. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpTreeItemData )(
  955. IWiaItem * This,
  956. /* [out] */ BSTR *bstrData);
  957. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Diagnostic )(
  958. IWiaItem * This,
  959. /* [in] */ ULONG ulSize,
  960. /* [size_is][in] */ BYTE *pBuffer);
  961. END_INTERFACE
  962. } IWiaItemVtbl;
  963. interface IWiaItem
  964. {
  965. CONST_VTBL struct IWiaItemVtbl *lpVtbl;
  966. };
  967. #ifdef COBJMACROS
  968. #define IWiaItem_QueryInterface(This,riid,ppvObject) \
  969. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  970. #define IWiaItem_AddRef(This) \
  971. (This)->lpVtbl -> AddRef(This)
  972. #define IWiaItem_Release(This) \
  973. (This)->lpVtbl -> Release(This)
  974. #define IWiaItem_GetItemType(This,pItemType) \
  975. (This)->lpVtbl -> GetItemType(This,pItemType)
  976. #define IWiaItem_AnalyzeItem(This,lFlags) \
  977. (This)->lpVtbl -> AnalyzeItem(This,lFlags)
  978. #define IWiaItem_EnumChildItems(This,ppIEnumWiaItem) \
  979. (This)->lpVtbl -> EnumChildItems(This,ppIEnumWiaItem)
  980. #define IWiaItem_DeleteItem(This,lFlags) \
  981. (This)->lpVtbl -> DeleteItem(This,lFlags)
  982. #define IWiaItem_CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem) \
  983. (This)->lpVtbl -> CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem)
  984. #define IWiaItem_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) \
  985. (This)->lpVtbl -> EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum)
  986. #define IWiaItem_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem) \
  987. (This)->lpVtbl -> FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem)
  988. #define IWiaItem_DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem) \
  989. (This)->lpVtbl -> DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem)
  990. #define IWiaItem_DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem) \
  991. (This)->lpVtbl -> DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem)
  992. #define IWiaItem_GetRootItem(This,ppIWiaItem) \
  993. (This)->lpVtbl -> GetRootItem(This,ppIWiaItem)
  994. #define IWiaItem_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) \
  995. (This)->lpVtbl -> EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS)
  996. #define IWiaItem_DumpItemData(This,bstrData) \
  997. (This)->lpVtbl -> DumpItemData(This,bstrData)
  998. #define IWiaItem_DumpDrvItemData(This,bstrData) \
  999. (This)->lpVtbl -> DumpDrvItemData(This,bstrData)
  1000. #define IWiaItem_DumpTreeItemData(This,bstrData) \
  1001. (This)->lpVtbl -> DumpTreeItemData(This,bstrData)
  1002. #define IWiaItem_Diagnostic(This,ulSize,pBuffer) \
  1003. (This)->lpVtbl -> Diagnostic(This,ulSize,pBuffer)
  1004. #endif /* COBJMACROS */
  1005. #endif /* C style interface */
  1006. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_GetItemType_Proxy(
  1007. IWiaItem * This,
  1008. /* [out] */ LONG *pItemType);
  1009. void __RPC_STUB IWiaItem_GetItemType_Stub(
  1010. IRpcStubBuffer *This,
  1011. IRpcChannelBuffer *_pRpcChannelBuffer,
  1012. PRPC_MESSAGE _pRpcMessage,
  1013. DWORD *_pdwStubPhase);
  1014. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_AnalyzeItem_Proxy(
  1015. IWiaItem * This,
  1016. /* [in] */ LONG lFlags);
  1017. void __RPC_STUB IWiaItem_AnalyzeItem_Stub(
  1018. IRpcStubBuffer *This,
  1019. IRpcChannelBuffer *_pRpcChannelBuffer,
  1020. PRPC_MESSAGE _pRpcMessage,
  1021. DWORD *_pdwStubPhase);
  1022. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumChildItems_Proxy(
  1023. IWiaItem * This,
  1024. /* [out] */ IEnumWiaItem **ppIEnumWiaItem);
  1025. void __RPC_STUB IWiaItem_EnumChildItems_Stub(
  1026. IRpcStubBuffer *This,
  1027. IRpcChannelBuffer *_pRpcChannelBuffer,
  1028. PRPC_MESSAGE _pRpcMessage,
  1029. DWORD *_pdwStubPhase);
  1030. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeleteItem_Proxy(
  1031. IWiaItem * This,
  1032. /* [in] */ LONG lFlags);
  1033. void __RPC_STUB IWiaItem_DeleteItem_Stub(
  1034. IRpcStubBuffer *This,
  1035. IRpcChannelBuffer *_pRpcChannelBuffer,
  1036. PRPC_MESSAGE _pRpcMessage,
  1037. DWORD *_pdwStubPhase);
  1038. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_CreateChildItem_Proxy(
  1039. IWiaItem * This,
  1040. /* [in] */ LONG lFlags,
  1041. /* [in] */ BSTR bstrItemName,
  1042. /* [in] */ BSTR bstrFullItemName,
  1043. /* [out] */ IWiaItem **ppIWiaItem);
  1044. void __RPC_STUB IWiaItem_CreateChildItem_Stub(
  1045. IRpcStubBuffer *This,
  1046. IRpcChannelBuffer *_pRpcChannelBuffer,
  1047. PRPC_MESSAGE _pRpcMessage,
  1048. DWORD *_pdwStubPhase);
  1049. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumRegisterEventInfo_Proxy(
  1050. IWiaItem * This,
  1051. /* [in] */ LONG lFlags,
  1052. /* [in] */ const GUID *pEventGUID,
  1053. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum);
  1054. void __RPC_STUB IWiaItem_EnumRegisterEventInfo_Stub(
  1055. IRpcStubBuffer *This,
  1056. IRpcChannelBuffer *_pRpcChannelBuffer,
  1057. PRPC_MESSAGE _pRpcMessage,
  1058. DWORD *_pdwStubPhase);
  1059. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_FindItemByName_Proxy(
  1060. IWiaItem * This,
  1061. /* [in] */ LONG lFlags,
  1062. /* [in] */ BSTR bstrFullItemName,
  1063. /* [out] */ IWiaItem **ppIWiaItem);
  1064. void __RPC_STUB IWiaItem_FindItemByName_Stub(
  1065. IRpcStubBuffer *This,
  1066. IRpcChannelBuffer *_pRpcChannelBuffer,
  1067. PRPC_MESSAGE _pRpcMessage,
  1068. DWORD *_pdwStubPhase);
  1069. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaItem_LocalDeviceDlg_Proxy(
  1070. IWiaItem * This,
  1071. /* [in] */ HWND hwndParent,
  1072. /* [in] */ LONG lFlags,
  1073. /* [in] */ LONG lIntent,
  1074. /* [out] */ LONG *plItemCount,
  1075. /* [out] */ IWiaItem ***pIWiaItem);
  1076. void __RPC_STUB IWiaItem_LocalDeviceDlg_Stub(
  1077. IRpcStubBuffer *This,
  1078. IRpcChannelBuffer *_pRpcChannelBuffer,
  1079. PRPC_MESSAGE _pRpcMessage,
  1080. DWORD *_pdwStubPhase);
  1081. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceCommand_Proxy(
  1082. IWiaItem * This,
  1083. /* [in] */ LONG lFlags,
  1084. /* [in] */ const GUID *pCmdGUID,
  1085. /* [out][in] */ IWiaItem **pIWiaItem);
  1086. void __RPC_STUB IWiaItem_DeviceCommand_Stub(
  1087. IRpcStubBuffer *This,
  1088. IRpcChannelBuffer *_pRpcChannelBuffer,
  1089. PRPC_MESSAGE _pRpcMessage,
  1090. DWORD *_pdwStubPhase);
  1091. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_GetRootItem_Proxy(
  1092. IWiaItem * This,
  1093. /* [out] */ IWiaItem **ppIWiaItem);
  1094. void __RPC_STUB IWiaItem_GetRootItem_Stub(
  1095. IRpcStubBuffer *This,
  1096. IRpcChannelBuffer *_pRpcChannelBuffer,
  1097. PRPC_MESSAGE _pRpcMessage,
  1098. DWORD *_pdwStubPhase);
  1099. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumDeviceCapabilities_Proxy(
  1100. IWiaItem * This,
  1101. /* [in] */ LONG lFlags,
  1102. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS);
  1103. void __RPC_STUB IWiaItem_EnumDeviceCapabilities_Stub(
  1104. IRpcStubBuffer *This,
  1105. IRpcChannelBuffer *_pRpcChannelBuffer,
  1106. PRPC_MESSAGE _pRpcMessage,
  1107. DWORD *_pdwStubPhase);
  1108. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpItemData_Proxy(
  1109. IWiaItem * This,
  1110. /* [out] */ BSTR *bstrData);
  1111. void __RPC_STUB IWiaItem_DumpItemData_Stub(
  1112. IRpcStubBuffer *This,
  1113. IRpcChannelBuffer *_pRpcChannelBuffer,
  1114. PRPC_MESSAGE _pRpcMessage,
  1115. DWORD *_pdwStubPhase);
  1116. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpDrvItemData_Proxy(
  1117. IWiaItem * This,
  1118. /* [out] */ BSTR *bstrData);
  1119. void __RPC_STUB IWiaItem_DumpDrvItemData_Stub(
  1120. IRpcStubBuffer *This,
  1121. IRpcChannelBuffer *_pRpcChannelBuffer,
  1122. PRPC_MESSAGE _pRpcMessage,
  1123. DWORD *_pdwStubPhase);
  1124. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpTreeItemData_Proxy(
  1125. IWiaItem * This,
  1126. /* [out] */ BSTR *bstrData);
  1127. void __RPC_STUB IWiaItem_DumpTreeItemData_Stub(
  1128. IRpcStubBuffer *This,
  1129. IRpcChannelBuffer *_pRpcChannelBuffer,
  1130. PRPC_MESSAGE _pRpcMessage,
  1131. DWORD *_pdwStubPhase);
  1132. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItem_Diagnostic_Proxy(
  1133. IWiaItem * This,
  1134. /* [in] */ ULONG ulSize,
  1135. /* [size_is][in] */ BYTE *pBuffer);
  1136. void __RPC_STUB IWiaItem_Diagnostic_Stub(
  1137. IRpcStubBuffer *This,
  1138. IRpcChannelBuffer *_pRpcChannelBuffer,
  1139. PRPC_MESSAGE _pRpcMessage,
  1140. DWORD *_pdwStubPhase);
  1141. #endif /* __IWiaItem_INTERFACE_DEFINED__ */
  1142. #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__
  1143. #define __IWiaPropertyStorage_INTERFACE_DEFINED__
  1144. /* interface IWiaPropertyStorage */
  1145. /* [unique][helpstring][uuid][object] */
  1146. EXTERN_C const IID IID_IWiaPropertyStorage;
  1147. #if defined(__cplusplus) && !defined(CINTERFACE)
  1148. MIDL_INTERFACE("98B5E8A0-29CC-491a-AAC0-E6DB4FDCCEB6")
  1149. IWiaPropertyStorage : public IUnknown
  1150. {
  1151. public:
  1152. virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
  1153. /* [in] */ ULONG cpspec,
  1154. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1155. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]) = 0;
  1156. virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
  1157. /* [in] */ ULONG cpspec,
  1158. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1159. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  1160. /* [in] */ PROPID propidNameFirst) = 0;
  1161. virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
  1162. /* [in] */ ULONG cpspec,
  1163. /* [size_is][in] */ const PROPSPEC rgpspec[ ]) = 0;
  1164. virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
  1165. /* [in] */ ULONG cpropid,
  1166. /* [size_is][in] */ const PROPID rgpropid[ ],
  1167. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]) = 0;
  1168. virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
  1169. /* [in] */ ULONG cpropid,
  1170. /* [size_is][in] */ const PROPID rgpropid[ ],
  1171. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]) = 0;
  1172. virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
  1173. /* [in] */ ULONG cpropid,
  1174. /* [size_is][in] */ const PROPID rgpropid[ ]) = 0;
  1175. virtual HRESULT STDMETHODCALLTYPE Commit(
  1176. /* [in] */ DWORD grfCommitFlags) = 0;
  1177. virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
  1178. virtual HRESULT STDMETHODCALLTYPE Enum(
  1179. /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;
  1180. virtual HRESULT STDMETHODCALLTYPE SetTimes(
  1181. /* [in] */ const FILETIME *pctime,
  1182. /* [in] */ const FILETIME *patime,
  1183. /* [in] */ const FILETIME *pmtime) = 0;
  1184. virtual HRESULT STDMETHODCALLTYPE SetClass(
  1185. /* [in] */ REFCLSID clsid) = 0;
  1186. virtual HRESULT STDMETHODCALLTYPE Stat(
  1187. /* [out] */ STATPROPSETSTG *pstatpsstg) = 0;
  1188. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPropertyAttributes(
  1189. /* [in] */ ULONG cpspec,
  1190. /* [size_is][in] */ PROPSPEC rgpspec[ ],
  1191. /* [size_is][out] */ ULONG rgflags[ ],
  1192. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]) = 0;
  1193. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount(
  1194. /* [out] */ ULONG *pulNumProps) = 0;
  1195. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPropertyStream(
  1196. /* [out] */ GUID *pCompatibilityId,
  1197. /* [out] */ IStream **ppIStream) = 0;
  1198. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPropertyStream(
  1199. /* [in] */ GUID *pCompatibilityId,
  1200. /* [unique][in] */ IStream *pIStream) = 0;
  1201. };
  1202. #else /* C style interface */
  1203. typedef struct IWiaPropertyStorageVtbl
  1204. {
  1205. BEGIN_INTERFACE
  1206. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1207. IWiaPropertyStorage * This,
  1208. /* [in] */ REFIID riid,
  1209. /* [iid_is][out] */ void **ppvObject);
  1210. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1211. IWiaPropertyStorage * This);
  1212. ULONG ( STDMETHODCALLTYPE *Release )(
  1213. IWiaPropertyStorage * This);
  1214. HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
  1215. IWiaPropertyStorage * This,
  1216. /* [in] */ ULONG cpspec,
  1217. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1218. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  1219. HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
  1220. IWiaPropertyStorage * This,
  1221. /* [in] */ ULONG cpspec,
  1222. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1223. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  1224. /* [in] */ PROPID propidNameFirst);
  1225. HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
  1226. IWiaPropertyStorage * This,
  1227. /* [in] */ ULONG cpspec,
  1228. /* [size_is][in] */ const PROPSPEC rgpspec[ ]);
  1229. HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
  1230. IWiaPropertyStorage * This,
  1231. /* [in] */ ULONG cpropid,
  1232. /* [size_is][in] */ const PROPID rgpropid[ ],
  1233. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
  1234. HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
  1235. IWiaPropertyStorage * This,
  1236. /* [in] */ ULONG cpropid,
  1237. /* [size_is][in] */ const PROPID rgpropid[ ],
  1238. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
  1239. HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
  1240. IWiaPropertyStorage * This,
  1241. /* [in] */ ULONG cpropid,
  1242. /* [size_is][in] */ const PROPID rgpropid[ ]);
  1243. HRESULT ( STDMETHODCALLTYPE *Commit )(
  1244. IWiaPropertyStorage * This,
  1245. /* [in] */ DWORD grfCommitFlags);
  1246. HRESULT ( STDMETHODCALLTYPE *Revert )(
  1247. IWiaPropertyStorage * This);
  1248. HRESULT ( STDMETHODCALLTYPE *Enum )(
  1249. IWiaPropertyStorage * This,
  1250. /* [out] */ IEnumSTATPROPSTG **ppenum);
  1251. HRESULT ( STDMETHODCALLTYPE *SetTimes )(
  1252. IWiaPropertyStorage * This,
  1253. /* [in] */ const FILETIME *pctime,
  1254. /* [in] */ const FILETIME *patime,
  1255. /* [in] */ const FILETIME *pmtime);
  1256. HRESULT ( STDMETHODCALLTYPE *SetClass )(
  1257. IWiaPropertyStorage * This,
  1258. /* [in] */ REFCLSID clsid);
  1259. HRESULT ( STDMETHODCALLTYPE *Stat )(
  1260. IWiaPropertyStorage * This,
  1261. /* [out] */ STATPROPSETSTG *pstatpsstg);
  1262. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyAttributes )(
  1263. IWiaPropertyStorage * This,
  1264. /* [in] */ ULONG cpspec,
  1265. /* [size_is][in] */ PROPSPEC rgpspec[ ],
  1266. /* [size_is][out] */ ULONG rgflags[ ],
  1267. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  1268. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
  1269. IWiaPropertyStorage * This,
  1270. /* [out] */ ULONG *pulNumProps);
  1271. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyStream )(
  1272. IWiaPropertyStorage * This,
  1273. /* [out] */ GUID *pCompatibilityId,
  1274. /* [out] */ IStream **ppIStream);
  1275. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPropertyStream )(
  1276. IWiaPropertyStorage * This,
  1277. /* [in] */ GUID *pCompatibilityId,
  1278. /* [unique][in] */ IStream *pIStream);
  1279. END_INTERFACE
  1280. } IWiaPropertyStorageVtbl;
  1281. interface IWiaPropertyStorage
  1282. {
  1283. CONST_VTBL struct IWiaPropertyStorageVtbl *lpVtbl;
  1284. };
  1285. #ifdef COBJMACROS
  1286. #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) \
  1287. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1288. #define IWiaPropertyStorage_AddRef(This) \
  1289. (This)->lpVtbl -> AddRef(This)
  1290. #define IWiaPropertyStorage_Release(This) \
  1291. (This)->lpVtbl -> Release(This)
  1292. #define IWiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
  1293. (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar)
  1294. #define IWiaPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
  1295. (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
  1296. #define IWiaPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
  1297. (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec)
  1298. #define IWiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
  1299. (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
  1300. #define IWiaPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
  1301. (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
  1302. #define IWiaPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
  1303. (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid)
  1304. #define IWiaPropertyStorage_Commit(This,grfCommitFlags) \
  1305. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  1306. #define IWiaPropertyStorage_Revert(This) \
  1307. (This)->lpVtbl -> Revert(This)
  1308. #define IWiaPropertyStorage_Enum(This,ppenum) \
  1309. (This)->lpVtbl -> Enum(This,ppenum)
  1310. #define IWiaPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
  1311. (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime)
  1312. #define IWiaPropertyStorage_SetClass(This,clsid) \
  1313. (This)->lpVtbl -> SetClass(This,clsid)
  1314. #define IWiaPropertyStorage_Stat(This,pstatpsstg) \
  1315. (This)->lpVtbl -> Stat(This,pstatpsstg)
  1316. #define IWiaPropertyStorage_GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar) \
  1317. (This)->lpVtbl -> GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar)
  1318. #define IWiaPropertyStorage_GetCount(This,pulNumProps) \
  1319. (This)->lpVtbl -> GetCount(This,pulNumProps)
  1320. #define IWiaPropertyStorage_GetPropertyStream(This,pCompatibilityId,ppIStream) \
  1321. (This)->lpVtbl -> GetPropertyStream(This,pCompatibilityId,ppIStream)
  1322. #define IWiaPropertyStorage_SetPropertyStream(This,pCompatibilityId,pIStream) \
  1323. (This)->lpVtbl -> SetPropertyStream(This,pCompatibilityId,pIStream)
  1324. #endif /* COBJMACROS */
  1325. #endif /* C style interface */
  1326. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_ReadMultiple_Proxy(
  1327. IWiaPropertyStorage * This,
  1328. /* [in] */ ULONG cpspec,
  1329. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1330. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  1331. void __RPC_STUB IWiaPropertyStorage_ReadMultiple_Stub(
  1332. IRpcStubBuffer *This,
  1333. IRpcChannelBuffer *_pRpcChannelBuffer,
  1334. PRPC_MESSAGE _pRpcMessage,
  1335. DWORD *_pdwStubPhase);
  1336. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_WriteMultiple_Proxy(
  1337. IWiaPropertyStorage * This,
  1338. /* [in] */ ULONG cpspec,
  1339. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  1340. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  1341. /* [in] */ PROPID propidNameFirst);
  1342. void __RPC_STUB IWiaPropertyStorage_WriteMultiple_Stub(
  1343. IRpcStubBuffer *This,
  1344. IRpcChannelBuffer *_pRpcChannelBuffer,
  1345. PRPC_MESSAGE _pRpcMessage,
  1346. DWORD *_pdwStubPhase);
  1347. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_DeleteMultiple_Proxy(
  1348. IWiaPropertyStorage * This,
  1349. /* [in] */ ULONG cpspec,
  1350. /* [size_is][in] */ const PROPSPEC rgpspec[ ]);
  1351. void __RPC_STUB IWiaPropertyStorage_DeleteMultiple_Stub(
  1352. IRpcStubBuffer *This,
  1353. IRpcChannelBuffer *_pRpcChannelBuffer,
  1354. PRPC_MESSAGE _pRpcMessage,
  1355. DWORD *_pdwStubPhase);
  1356. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_ReadPropertyNames_Proxy(
  1357. IWiaPropertyStorage * This,
  1358. /* [in] */ ULONG cpropid,
  1359. /* [size_is][in] */ const PROPID rgpropid[ ],
  1360. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
  1361. void __RPC_STUB IWiaPropertyStorage_ReadPropertyNames_Stub(
  1362. IRpcStubBuffer *This,
  1363. IRpcChannelBuffer *_pRpcChannelBuffer,
  1364. PRPC_MESSAGE _pRpcMessage,
  1365. DWORD *_pdwStubPhase);
  1366. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_WritePropertyNames_Proxy(
  1367. IWiaPropertyStorage * This,
  1368. /* [in] */ ULONG cpropid,
  1369. /* [size_is][in] */ const PROPID rgpropid[ ],
  1370. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
  1371. void __RPC_STUB IWiaPropertyStorage_WritePropertyNames_Stub(
  1372. IRpcStubBuffer *This,
  1373. IRpcChannelBuffer *_pRpcChannelBuffer,
  1374. PRPC_MESSAGE _pRpcMessage,
  1375. DWORD *_pdwStubPhase);
  1376. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_DeletePropertyNames_Proxy(
  1377. IWiaPropertyStorage * This,
  1378. /* [in] */ ULONG cpropid,
  1379. /* [size_is][in] */ const PROPID rgpropid[ ]);
  1380. void __RPC_STUB IWiaPropertyStorage_DeletePropertyNames_Stub(
  1381. IRpcStubBuffer *This,
  1382. IRpcChannelBuffer *_pRpcChannelBuffer,
  1383. PRPC_MESSAGE _pRpcMessage,
  1384. DWORD *_pdwStubPhase);
  1385. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_Commit_Proxy(
  1386. IWiaPropertyStorage * This,
  1387. /* [in] */ DWORD grfCommitFlags);
  1388. void __RPC_STUB IWiaPropertyStorage_Commit_Stub(
  1389. IRpcStubBuffer *This,
  1390. IRpcChannelBuffer *_pRpcChannelBuffer,
  1391. PRPC_MESSAGE _pRpcMessage,
  1392. DWORD *_pdwStubPhase);
  1393. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_Revert_Proxy(
  1394. IWiaPropertyStorage * This);
  1395. void __RPC_STUB IWiaPropertyStorage_Revert_Stub(
  1396. IRpcStubBuffer *This,
  1397. IRpcChannelBuffer *_pRpcChannelBuffer,
  1398. PRPC_MESSAGE _pRpcMessage,
  1399. DWORD *_pdwStubPhase);
  1400. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_Enum_Proxy(
  1401. IWiaPropertyStorage * This,
  1402. /* [out] */ IEnumSTATPROPSTG **ppenum);
  1403. void __RPC_STUB IWiaPropertyStorage_Enum_Stub(
  1404. IRpcStubBuffer *This,
  1405. IRpcChannelBuffer *_pRpcChannelBuffer,
  1406. PRPC_MESSAGE _pRpcMessage,
  1407. DWORD *_pdwStubPhase);
  1408. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_SetTimes_Proxy(
  1409. IWiaPropertyStorage * This,
  1410. /* [in] */ const FILETIME *pctime,
  1411. /* [in] */ const FILETIME *patime,
  1412. /* [in] */ const FILETIME *pmtime);
  1413. void __RPC_STUB IWiaPropertyStorage_SetTimes_Stub(
  1414. IRpcStubBuffer *This,
  1415. IRpcChannelBuffer *_pRpcChannelBuffer,
  1416. PRPC_MESSAGE _pRpcMessage,
  1417. DWORD *_pdwStubPhase);
  1418. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_SetClass_Proxy(
  1419. IWiaPropertyStorage * This,
  1420. /* [in] */ REFCLSID clsid);
  1421. void __RPC_STUB IWiaPropertyStorage_SetClass_Stub(
  1422. IRpcStubBuffer *This,
  1423. IRpcChannelBuffer *_pRpcChannelBuffer,
  1424. PRPC_MESSAGE _pRpcMessage,
  1425. DWORD *_pdwStubPhase);
  1426. HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_Stat_Proxy(
  1427. IWiaPropertyStorage * This,
  1428. /* [out] */ STATPROPSETSTG *pstatpsstg);
  1429. void __RPC_STUB IWiaPropertyStorage_Stat_Stub(
  1430. IRpcStubBuffer *This,
  1431. IRpcChannelBuffer *_pRpcChannelBuffer,
  1432. PRPC_MESSAGE _pRpcMessage,
  1433. DWORD *_pdwStubPhase);
  1434. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetPropertyAttributes_Proxy(
  1435. IWiaPropertyStorage * This,
  1436. /* [in] */ ULONG cpspec,
  1437. /* [size_is][in] */ PROPSPEC rgpspec[ ],
  1438. /* [size_is][out] */ ULONG rgflags[ ],
  1439. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  1440. void __RPC_STUB IWiaPropertyStorage_GetPropertyAttributes_Stub(
  1441. IRpcStubBuffer *This,
  1442. IRpcChannelBuffer *_pRpcChannelBuffer,
  1443. PRPC_MESSAGE _pRpcMessage,
  1444. DWORD *_pdwStubPhase);
  1445. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetCount_Proxy(
  1446. IWiaPropertyStorage * This,
  1447. /* [out] */ ULONG *pulNumProps);
  1448. void __RPC_STUB IWiaPropertyStorage_GetCount_Stub(
  1449. IRpcStubBuffer *This,
  1450. IRpcChannelBuffer *_pRpcChannelBuffer,
  1451. PRPC_MESSAGE _pRpcMessage,
  1452. DWORD *_pdwStubPhase);
  1453. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetPropertyStream_Proxy(
  1454. IWiaPropertyStorage * This,
  1455. /* [out] */ GUID *pCompatibilityId,
  1456. /* [out] */ IStream **ppIStream);
  1457. void __RPC_STUB IWiaPropertyStorage_GetPropertyStream_Stub(
  1458. IRpcStubBuffer *This,
  1459. IRpcChannelBuffer *_pRpcChannelBuffer,
  1460. PRPC_MESSAGE _pRpcMessage,
  1461. DWORD *_pdwStubPhase);
  1462. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_SetPropertyStream_Proxy(
  1463. IWiaPropertyStorage * This,
  1464. /* [in] */ GUID *pCompatibilityId,
  1465. /* [unique][in] */ IStream *pIStream);
  1466. void __RPC_STUB IWiaPropertyStorage_SetPropertyStream_Stub(
  1467. IRpcStubBuffer *This,
  1468. IRpcChannelBuffer *_pRpcChannelBuffer,
  1469. PRPC_MESSAGE _pRpcMessage,
  1470. DWORD *_pdwStubPhase);
  1471. #endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */
  1472. #ifndef __IEnumWiaItem_INTERFACE_DEFINED__
  1473. #define __IEnumWiaItem_INTERFACE_DEFINED__
  1474. /* interface IEnumWiaItem */
  1475. /* [unique][helpstring][uuid][object] */
  1476. EXTERN_C const IID IID_IEnumWiaItem;
  1477. #if defined(__cplusplus) && !defined(CINTERFACE)
  1478. MIDL_INTERFACE("5e8383fc-3391-11d2-9a33-00c04fa36145")
  1479. IEnumWiaItem : public IUnknown
  1480. {
  1481. public:
  1482. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  1483. /* [in] */ ULONG celt,
  1484. /* [length_is][size_is][out] */ IWiaItem **ppIWiaItem,
  1485. /* [unique][out][in] */ ULONG *pceltFetched) = 0;
  1486. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
  1487. /* [in] */ ULONG celt) = 0;
  1488. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1489. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone(
  1490. /* [out] */ IEnumWiaItem **ppIEnum) = 0;
  1491. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount(
  1492. /* [out] */ ULONG *celt) = 0;
  1493. };
  1494. #else /* C style interface */
  1495. typedef struct IEnumWiaItemVtbl
  1496. {
  1497. BEGIN_INTERFACE
  1498. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1499. IEnumWiaItem * This,
  1500. /* [in] */ REFIID riid,
  1501. /* [iid_is][out] */ void **ppvObject);
  1502. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1503. IEnumWiaItem * This);
  1504. ULONG ( STDMETHODCALLTYPE *Release )(
  1505. IEnumWiaItem * This);
  1506. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  1507. IEnumWiaItem * This,
  1508. /* [in] */ ULONG celt,
  1509. /* [length_is][size_is][out] */ IWiaItem **ppIWiaItem,
  1510. /* [unique][out][in] */ ULONG *pceltFetched);
  1511. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
  1512. IEnumWiaItem * This,
  1513. /* [in] */ ULONG celt);
  1514. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
  1515. IEnumWiaItem * This);
  1516. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )(
  1517. IEnumWiaItem * This,
  1518. /* [out] */ IEnumWiaItem **ppIEnum);
  1519. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
  1520. IEnumWiaItem * This,
  1521. /* [out] */ ULONG *celt);
  1522. END_INTERFACE
  1523. } IEnumWiaItemVtbl;
  1524. interface IEnumWiaItem
  1525. {
  1526. CONST_VTBL struct IEnumWiaItemVtbl *lpVtbl;
  1527. };
  1528. #ifdef COBJMACROS
  1529. #define IEnumWiaItem_QueryInterface(This,riid,ppvObject) \
  1530. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1531. #define IEnumWiaItem_AddRef(This) \
  1532. (This)->lpVtbl -> AddRef(This)
  1533. #define IEnumWiaItem_Release(This) \
  1534. (This)->lpVtbl -> Release(This)
  1535. #define IEnumWiaItem_Next(This,celt,ppIWiaItem,pceltFetched) \
  1536. (This)->lpVtbl -> Next(This,celt,ppIWiaItem,pceltFetched)
  1537. #define IEnumWiaItem_Skip(This,celt) \
  1538. (This)->lpVtbl -> Skip(This,celt)
  1539. #define IEnumWiaItem_Reset(This) \
  1540. (This)->lpVtbl -> Reset(This)
  1541. #define IEnumWiaItem_Clone(This,ppIEnum) \
  1542. (This)->lpVtbl -> Clone(This,ppIEnum)
  1543. #define IEnumWiaItem_GetCount(This,celt) \
  1544. (This)->lpVtbl -> GetCount(This,celt)
  1545. #endif /* COBJMACROS */
  1546. #endif /* C style interface */
  1547. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_RemoteNext_Proxy(
  1548. IEnumWiaItem * This,
  1549. /* [in] */ ULONG celt,
  1550. /* [length_is][size_is][out] */ IWiaItem **ppIWiaItem,
  1551. /* [unique][out][in] */ ULONG *pceltFetched);
  1552. void __RPC_STUB IEnumWiaItem_RemoteNext_Stub(
  1553. IRpcStubBuffer *This,
  1554. IRpcChannelBuffer *_pRpcChannelBuffer,
  1555. PRPC_MESSAGE _pRpcMessage,
  1556. DWORD *_pdwStubPhase);
  1557. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Skip_Proxy(
  1558. IEnumWiaItem * This,
  1559. /* [in] */ ULONG celt);
  1560. void __RPC_STUB IEnumWiaItem_Skip_Stub(
  1561. IRpcStubBuffer *This,
  1562. IRpcChannelBuffer *_pRpcChannelBuffer,
  1563. PRPC_MESSAGE _pRpcMessage,
  1564. DWORD *_pdwStubPhase);
  1565. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Reset_Proxy(
  1566. IEnumWiaItem * This);
  1567. void __RPC_STUB IEnumWiaItem_Reset_Stub(
  1568. IRpcStubBuffer *This,
  1569. IRpcChannelBuffer *_pRpcChannelBuffer,
  1570. PRPC_MESSAGE _pRpcMessage,
  1571. DWORD *_pdwStubPhase);
  1572. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Clone_Proxy(
  1573. IEnumWiaItem * This,
  1574. /* [out] */ IEnumWiaItem **ppIEnum);
  1575. void __RPC_STUB IEnumWiaItem_Clone_Stub(
  1576. IRpcStubBuffer *This,
  1577. IRpcChannelBuffer *_pRpcChannelBuffer,
  1578. PRPC_MESSAGE _pRpcMessage,
  1579. DWORD *_pdwStubPhase);
  1580. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_GetCount_Proxy(
  1581. IEnumWiaItem * This,
  1582. /* [out] */ ULONG *celt);
  1583. void __RPC_STUB IEnumWiaItem_GetCount_Stub(
  1584. IRpcStubBuffer *This,
  1585. IRpcChannelBuffer *_pRpcChannelBuffer,
  1586. PRPC_MESSAGE _pRpcMessage,
  1587. DWORD *_pdwStubPhase);
  1588. #endif /* __IEnumWiaItem_INTERFACE_DEFINED__ */
  1589. /* interface __MIDL_itf_wia_0126 */
  1590. /* [local] */
  1591. typedef struct _WIA_DEV_CAP
  1592. {
  1593. GUID guid;
  1594. ULONG ulFlags;
  1595. BSTR bstrName;
  1596. BSTR bstrDescription;
  1597. BSTR bstrIcon;
  1598. BSTR bstrCommandline;
  1599. } WIA_DEV_CAP;
  1600. typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP;
  1601. typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER;
  1602. typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER;
  1603. extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_c_ifspec;
  1604. extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_s_ifspec;
  1605. #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
  1606. #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
  1607. /* interface IEnumWIA_DEV_CAPS */
  1608. /* [unique][helpstring][uuid][object] */
  1609. EXTERN_C const IID IID_IEnumWIA_DEV_CAPS;
  1610. #if defined(__cplusplus) && !defined(CINTERFACE)
  1611. MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c")
  1612. IEnumWIA_DEV_CAPS : public IUnknown
  1613. {
  1614. public:
  1615. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  1616. /* [in] */ ULONG celt,
  1617. /* [length_is][size_is][out] */ WIA_DEV_CAP *rgelt,
  1618. /* [unique][out][in] */ ULONG *pceltFetched) = 0;
  1619. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
  1620. /* [in] */ ULONG celt) = 0;
  1621. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1622. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone(
  1623. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum) = 0;
  1624. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount(
  1625. /* [out] */ ULONG *pcelt) = 0;
  1626. };
  1627. #else /* C style interface */
  1628. typedef struct IEnumWIA_DEV_CAPSVtbl
  1629. {
  1630. BEGIN_INTERFACE
  1631. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1632. IEnumWIA_DEV_CAPS * This,
  1633. /* [in] */ REFIID riid,
  1634. /* [iid_is][out] */ void **ppvObject);
  1635. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1636. IEnumWIA_DEV_CAPS * This);
  1637. ULONG ( STDMETHODCALLTYPE *Release )(
  1638. IEnumWIA_DEV_CAPS * This);
  1639. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  1640. IEnumWIA_DEV_CAPS * This,
  1641. /* [in] */ ULONG celt,
  1642. /* [length_is][size_is][out] */ WIA_DEV_CAP *rgelt,
  1643. /* [unique][out][in] */ ULONG *pceltFetched);
  1644. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
  1645. IEnumWIA_DEV_CAPS * This,
  1646. /* [in] */ ULONG celt);
  1647. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
  1648. IEnumWIA_DEV_CAPS * This);
  1649. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )(
  1650. IEnumWIA_DEV_CAPS * This,
  1651. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum);
  1652. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
  1653. IEnumWIA_DEV_CAPS * This,
  1654. /* [out] */ ULONG *pcelt);
  1655. END_INTERFACE
  1656. } IEnumWIA_DEV_CAPSVtbl;
  1657. interface IEnumWIA_DEV_CAPS
  1658. {
  1659. CONST_VTBL struct IEnumWIA_DEV_CAPSVtbl *lpVtbl;
  1660. };
  1661. #ifdef COBJMACROS
  1662. #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) \
  1663. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1664. #define IEnumWIA_DEV_CAPS_AddRef(This) \
  1665. (This)->lpVtbl -> AddRef(This)
  1666. #define IEnumWIA_DEV_CAPS_Release(This) \
  1667. (This)->lpVtbl -> Release(This)
  1668. #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) \
  1669. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1670. #define IEnumWIA_DEV_CAPS_Skip(This,celt) \
  1671. (This)->lpVtbl -> Skip(This,celt)
  1672. #define IEnumWIA_DEV_CAPS_Reset(This) \
  1673. (This)->lpVtbl -> Reset(This)
  1674. #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) \
  1675. (This)->lpVtbl -> Clone(This,ppIEnum)
  1676. #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) \
  1677. (This)->lpVtbl -> GetCount(This,pcelt)
  1678. #endif /* COBJMACROS */
  1679. #endif /* C style interface */
  1680. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_RemoteNext_Proxy(
  1681. IEnumWIA_DEV_CAPS * This,
  1682. /* [in] */ ULONG celt,
  1683. /* [length_is][size_is][out] */ WIA_DEV_CAP *rgelt,
  1684. /* [unique][out][in] */ ULONG *pceltFetched);
  1685. void __RPC_STUB IEnumWIA_DEV_CAPS_RemoteNext_Stub(
  1686. IRpcStubBuffer *This,
  1687. IRpcChannelBuffer *_pRpcChannelBuffer,
  1688. PRPC_MESSAGE _pRpcMessage,
  1689. DWORD *_pdwStubPhase);
  1690. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Skip_Proxy(
  1691. IEnumWIA_DEV_CAPS * This,
  1692. /* [in] */ ULONG celt);
  1693. void __RPC_STUB IEnumWIA_DEV_CAPS_Skip_Stub(
  1694. IRpcStubBuffer *This,
  1695. IRpcChannelBuffer *_pRpcChannelBuffer,
  1696. PRPC_MESSAGE _pRpcMessage,
  1697. DWORD *_pdwStubPhase);
  1698. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Reset_Proxy(
  1699. IEnumWIA_DEV_CAPS * This);
  1700. void __RPC_STUB IEnumWIA_DEV_CAPS_Reset_Stub(
  1701. IRpcStubBuffer *This,
  1702. IRpcChannelBuffer *_pRpcChannelBuffer,
  1703. PRPC_MESSAGE _pRpcMessage,
  1704. DWORD *_pdwStubPhase);
  1705. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Clone_Proxy(
  1706. IEnumWIA_DEV_CAPS * This,
  1707. /* [out] */ IEnumWIA_DEV_CAPS **ppIEnum);
  1708. void __RPC_STUB IEnumWIA_DEV_CAPS_Clone_Stub(
  1709. IRpcStubBuffer *This,
  1710. IRpcChannelBuffer *_pRpcChannelBuffer,
  1711. PRPC_MESSAGE _pRpcMessage,
  1712. DWORD *_pdwStubPhase);
  1713. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_GetCount_Proxy(
  1714. IEnumWIA_DEV_CAPS * This,
  1715. /* [out] */ ULONG *pcelt);
  1716. void __RPC_STUB IEnumWIA_DEV_CAPS_GetCount_Stub(
  1717. IRpcStubBuffer *This,
  1718. IRpcChannelBuffer *_pRpcChannelBuffer,
  1719. PRPC_MESSAGE _pRpcMessage,
  1720. DWORD *_pdwStubPhase);
  1721. #endif /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */
  1722. #ifndef __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
  1723. #define __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
  1724. /* interface IEnumWIA_FORMAT_INFO */
  1725. /* [unique][helpstring][uuid][object] */
  1726. EXTERN_C const IID IID_IEnumWIA_FORMAT_INFO;
  1727. #if defined(__cplusplus) && !defined(CINTERFACE)
  1728. MIDL_INTERFACE("81BEFC5B-656D-44f1-B24C-D41D51B4DC81")
  1729. IEnumWIA_FORMAT_INFO : public IUnknown
  1730. {
  1731. public:
  1732. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  1733. /* [in] */ ULONG celt,
  1734. /* [length_is][size_is][out] */ WIA_FORMAT_INFO *rgelt,
  1735. /* [unique][out][in] */ ULONG *pceltFetched) = 0;
  1736. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
  1737. /* [in] */ ULONG celt) = 0;
  1738. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1739. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone(
  1740. /* [out] */ IEnumWIA_FORMAT_INFO **ppIEnum) = 0;
  1741. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount(
  1742. /* [out] */ ULONG *pcelt) = 0;
  1743. };
  1744. #else /* C style interface */
  1745. typedef struct IEnumWIA_FORMAT_INFOVtbl
  1746. {
  1747. BEGIN_INTERFACE
  1748. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1749. IEnumWIA_FORMAT_INFO * This,
  1750. /* [in] */ REFIID riid,
  1751. /* [iid_is][out] */ void **ppvObject);
  1752. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1753. IEnumWIA_FORMAT_INFO * This);
  1754. ULONG ( STDMETHODCALLTYPE *Release )(
  1755. IEnumWIA_FORMAT_INFO * This);
  1756. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  1757. IEnumWIA_FORMAT_INFO * This,
  1758. /* [in] */ ULONG celt,
  1759. /* [length_is][size_is][out] */ WIA_FORMAT_INFO *rgelt,
  1760. /* [unique][out][in] */ ULONG *pceltFetched);
  1761. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
  1762. IEnumWIA_FORMAT_INFO * This,
  1763. /* [in] */ ULONG celt);
  1764. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
  1765. IEnumWIA_FORMAT_INFO * This);
  1766. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )(
  1767. IEnumWIA_FORMAT_INFO * This,
  1768. /* [out] */ IEnumWIA_FORMAT_INFO **ppIEnum);
  1769. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
  1770. IEnumWIA_FORMAT_INFO * This,
  1771. /* [out] */ ULONG *pcelt);
  1772. END_INTERFACE
  1773. } IEnumWIA_FORMAT_INFOVtbl;
  1774. interface IEnumWIA_FORMAT_INFO
  1775. {
  1776. CONST_VTBL struct IEnumWIA_FORMAT_INFOVtbl *lpVtbl;
  1777. };
  1778. #ifdef COBJMACROS
  1779. #define IEnumWIA_FORMAT_INFO_QueryInterface(This,riid,ppvObject) \
  1780. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1781. #define IEnumWIA_FORMAT_INFO_AddRef(This) \
  1782. (This)->lpVtbl -> AddRef(This)
  1783. #define IEnumWIA_FORMAT_INFO_Release(This) \
  1784. (This)->lpVtbl -> Release(This)
  1785. #define IEnumWIA_FORMAT_INFO_Next(This,celt,rgelt,pceltFetched) \
  1786. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1787. #define IEnumWIA_FORMAT_INFO_Skip(This,celt) \
  1788. (This)->lpVtbl -> Skip(This,celt)
  1789. #define IEnumWIA_FORMAT_INFO_Reset(This) \
  1790. (This)->lpVtbl -> Reset(This)
  1791. #define IEnumWIA_FORMAT_INFO_Clone(This,ppIEnum) \
  1792. (This)->lpVtbl -> Clone(This,ppIEnum)
  1793. #define IEnumWIA_FORMAT_INFO_GetCount(This,pcelt) \
  1794. (This)->lpVtbl -> GetCount(This,pcelt)
  1795. #endif /* COBJMACROS */
  1796. #endif /* C style interface */
  1797. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_RemoteNext_Proxy(
  1798. IEnumWIA_FORMAT_INFO * This,
  1799. /* [in] */ ULONG celt,
  1800. /* [length_is][size_is][out] */ WIA_FORMAT_INFO *rgelt,
  1801. /* [unique][out][in] */ ULONG *pceltFetched);
  1802. void __RPC_STUB IEnumWIA_FORMAT_INFO_RemoteNext_Stub(
  1803. IRpcStubBuffer *This,
  1804. IRpcChannelBuffer *_pRpcChannelBuffer,
  1805. PRPC_MESSAGE _pRpcMessage,
  1806. DWORD *_pdwStubPhase);
  1807. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Skip_Proxy(
  1808. IEnumWIA_FORMAT_INFO * This,
  1809. /* [in] */ ULONG celt);
  1810. void __RPC_STUB IEnumWIA_FORMAT_INFO_Skip_Stub(
  1811. IRpcStubBuffer *This,
  1812. IRpcChannelBuffer *_pRpcChannelBuffer,
  1813. PRPC_MESSAGE _pRpcMessage,
  1814. DWORD *_pdwStubPhase);
  1815. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Reset_Proxy(
  1816. IEnumWIA_FORMAT_INFO * This);
  1817. void __RPC_STUB IEnumWIA_FORMAT_INFO_Reset_Stub(
  1818. IRpcStubBuffer *This,
  1819. IRpcChannelBuffer *_pRpcChannelBuffer,
  1820. PRPC_MESSAGE _pRpcMessage,
  1821. DWORD *_pdwStubPhase);
  1822. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Clone_Proxy(
  1823. IEnumWIA_FORMAT_INFO * This,
  1824. /* [out] */ IEnumWIA_FORMAT_INFO **ppIEnum);
  1825. void __RPC_STUB IEnumWIA_FORMAT_INFO_Clone_Stub(
  1826. IRpcStubBuffer *This,
  1827. IRpcChannelBuffer *_pRpcChannelBuffer,
  1828. PRPC_MESSAGE _pRpcMessage,
  1829. DWORD *_pdwStubPhase);
  1830. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_GetCount_Proxy(
  1831. IEnumWIA_FORMAT_INFO * This,
  1832. /* [out] */ ULONG *pcelt);
  1833. void __RPC_STUB IEnumWIA_FORMAT_INFO_GetCount_Stub(
  1834. IRpcStubBuffer *This,
  1835. IRpcChannelBuffer *_pRpcChannelBuffer,
  1836. PRPC_MESSAGE _pRpcMessage,
  1837. DWORD *_pdwStubPhase);
  1838. #endif /* __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__ */
  1839. #ifndef __IWiaLog_INTERFACE_DEFINED__
  1840. #define __IWiaLog_INTERFACE_DEFINED__
  1841. /* interface IWiaLog */
  1842. /* [unique][helpstring][uuid][object] */
  1843. EXTERN_C const IID IID_IWiaLog;
  1844. #if defined(__cplusplus) && !defined(CINTERFACE)
  1845. MIDL_INTERFACE("A00C10B6-82A1-452f-8B6C-86062AAD6890")
  1846. IWiaLog : public IUnknown
  1847. {
  1848. public:
  1849. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeLog(
  1850. /* [in] */ LONG hInstance) = 0;
  1851. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE hResult(
  1852. /* [in] */ HRESULT hResult) = 0;
  1853. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Log(
  1854. /* [in] */ LONG lFlags,
  1855. /* [in] */ LONG lResID,
  1856. /* [in] */ LONG lDetail,
  1857. /* [in] */ BSTR bstrText) = 0;
  1858. };
  1859. #else /* C style interface */
  1860. typedef struct IWiaLogVtbl
  1861. {
  1862. BEGIN_INTERFACE
  1863. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1864. IWiaLog * This,
  1865. /* [in] */ REFIID riid,
  1866. /* [iid_is][out] */ void **ppvObject);
  1867. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1868. IWiaLog * This);
  1869. ULONG ( STDMETHODCALLTYPE *Release )(
  1870. IWiaLog * This);
  1871. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeLog )(
  1872. IWiaLog * This,
  1873. /* [in] */ LONG hInstance);
  1874. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *hResult )(
  1875. IWiaLog * This,
  1876. /* [in] */ HRESULT hResult);
  1877. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Log )(
  1878. IWiaLog * This,
  1879. /* [in] */ LONG lFlags,
  1880. /* [in] */ LONG lResID,
  1881. /* [in] */ LONG lDetail,
  1882. /* [in] */ BSTR bstrText);
  1883. END_INTERFACE
  1884. } IWiaLogVtbl;
  1885. interface IWiaLog
  1886. {
  1887. CONST_VTBL struct IWiaLogVtbl *lpVtbl;
  1888. };
  1889. #ifdef COBJMACROS
  1890. #define IWiaLog_QueryInterface(This,riid,ppvObject) \
  1891. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1892. #define IWiaLog_AddRef(This) \
  1893. (This)->lpVtbl -> AddRef(This)
  1894. #define IWiaLog_Release(This) \
  1895. (This)->lpVtbl -> Release(This)
  1896. #define IWiaLog_InitializeLog(This,hInstance) \
  1897. (This)->lpVtbl -> InitializeLog(This,hInstance)
  1898. #define IWiaLog_hResult(This,hResult) \
  1899. (This)->lpVtbl -> hResult(This,hResult)
  1900. #define IWiaLog_Log(This,lFlags,lResID,lDetail,bstrText) \
  1901. (This)->lpVtbl -> Log(This,lFlags,lResID,lDetail,bstrText)
  1902. #endif /* COBJMACROS */
  1903. #endif /* C style interface */
  1904. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLog_InitializeLog_Proxy(
  1905. IWiaLog * This,
  1906. /* [in] */ LONG hInstance);
  1907. void __RPC_STUB IWiaLog_InitializeLog_Stub(
  1908. IRpcStubBuffer *This,
  1909. IRpcChannelBuffer *_pRpcChannelBuffer,
  1910. PRPC_MESSAGE _pRpcMessage,
  1911. DWORD *_pdwStubPhase);
  1912. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLog_hResult_Proxy(
  1913. IWiaLog * This,
  1914. /* [in] */ HRESULT hResult);
  1915. void __RPC_STUB IWiaLog_hResult_Stub(
  1916. IRpcStubBuffer *This,
  1917. IRpcChannelBuffer *_pRpcChannelBuffer,
  1918. PRPC_MESSAGE _pRpcMessage,
  1919. DWORD *_pdwStubPhase);
  1920. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLog_Log_Proxy(
  1921. IWiaLog * This,
  1922. /* [in] */ LONG lFlags,
  1923. /* [in] */ LONG lResID,
  1924. /* [in] */ LONG lDetail,
  1925. /* [in] */ BSTR bstrText);
  1926. void __RPC_STUB IWiaLog_Log_Stub(
  1927. IRpcStubBuffer *This,
  1928. IRpcChannelBuffer *_pRpcChannelBuffer,
  1929. PRPC_MESSAGE _pRpcMessage,
  1930. DWORD *_pdwStubPhase);
  1931. #endif /* __IWiaLog_INTERFACE_DEFINED__ */
  1932. #ifndef __IWiaLogEx_INTERFACE_DEFINED__
  1933. #define __IWiaLogEx_INTERFACE_DEFINED__
  1934. /* interface IWiaLogEx */
  1935. /* [unique][helpstring][uuid][object] */
  1936. EXTERN_C const IID IID_IWiaLogEx;
  1937. #if defined(__cplusplus) && !defined(CINTERFACE)
  1938. MIDL_INTERFACE("AF1F22AC-7A40-4787-B421-AEb47A1FBD0B")
  1939. IWiaLogEx : public IUnknown
  1940. {
  1941. public:
  1942. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InitializeLogEx(
  1943. /* [in] */ BYTE *hInstance) = 0;
  1944. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE hResult(
  1945. /* [in] */ HRESULT hResult) = 0;
  1946. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Log(
  1947. /* [in] */ LONG lFlags,
  1948. /* [in] */ LONG lResID,
  1949. /* [in] */ LONG lDetail,
  1950. /* [in] */ BSTR bstrText) = 0;
  1951. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE hResultEx(
  1952. /* [in] */ LONG lMethodId,
  1953. /* [in] */ HRESULT hResult) = 0;
  1954. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LogEx(
  1955. /* [in] */ LONG lMethodId,
  1956. /* [in] */ LONG lFlags,
  1957. /* [in] */ LONG lResID,
  1958. /* [in] */ LONG lDetail,
  1959. /* [in] */ BSTR bstrText) = 0;
  1960. };
  1961. #else /* C style interface */
  1962. typedef struct IWiaLogExVtbl
  1963. {
  1964. BEGIN_INTERFACE
  1965. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1966. IWiaLogEx * This,
  1967. /* [in] */ REFIID riid,
  1968. /* [iid_is][out] */ void **ppvObject);
  1969. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1970. IWiaLogEx * This);
  1971. ULONG ( STDMETHODCALLTYPE *Release )(
  1972. IWiaLogEx * This);
  1973. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitializeLogEx )(
  1974. IWiaLogEx * This,
  1975. /* [in] */ BYTE *hInstance);
  1976. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *hResult )(
  1977. IWiaLogEx * This,
  1978. /* [in] */ HRESULT hResult);
  1979. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Log )(
  1980. IWiaLogEx * This,
  1981. /* [in] */ LONG lFlags,
  1982. /* [in] */ LONG lResID,
  1983. /* [in] */ LONG lDetail,
  1984. /* [in] */ BSTR bstrText);
  1985. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *hResultEx )(
  1986. IWiaLogEx * This,
  1987. /* [in] */ LONG lMethodId,
  1988. /* [in] */ HRESULT hResult);
  1989. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LogEx )(
  1990. IWiaLogEx * This,
  1991. /* [in] */ LONG lMethodId,
  1992. /* [in] */ LONG lFlags,
  1993. /* [in] */ LONG lResID,
  1994. /* [in] */ LONG lDetail,
  1995. /* [in] */ BSTR bstrText);
  1996. END_INTERFACE
  1997. } IWiaLogExVtbl;
  1998. interface IWiaLogEx
  1999. {
  2000. CONST_VTBL struct IWiaLogExVtbl *lpVtbl;
  2001. };
  2002. #ifdef COBJMACROS
  2003. #define IWiaLogEx_QueryInterface(This,riid,ppvObject) \
  2004. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2005. #define IWiaLogEx_AddRef(This) \
  2006. (This)->lpVtbl -> AddRef(This)
  2007. #define IWiaLogEx_Release(This) \
  2008. (This)->lpVtbl -> Release(This)
  2009. #define IWiaLogEx_InitializeLogEx(This,hInstance) \
  2010. (This)->lpVtbl -> InitializeLogEx(This,hInstance)
  2011. #define IWiaLogEx_hResult(This,hResult) \
  2012. (This)->lpVtbl -> hResult(This,hResult)
  2013. #define IWiaLogEx_Log(This,lFlags,lResID,lDetail,bstrText) \
  2014. (This)->lpVtbl -> Log(This,lFlags,lResID,lDetail,bstrText)
  2015. #define IWiaLogEx_hResultEx(This,lMethodId,hResult) \
  2016. (This)->lpVtbl -> hResultEx(This,lMethodId,hResult)
  2017. #define IWiaLogEx_LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText) \
  2018. (This)->lpVtbl -> LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText)
  2019. #endif /* COBJMACROS */
  2020. #endif /* C style interface */
  2021. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLogEx_InitializeLogEx_Proxy(
  2022. IWiaLogEx * This,
  2023. /* [in] */ BYTE *hInstance);
  2024. void __RPC_STUB IWiaLogEx_InitializeLogEx_Stub(
  2025. IRpcStubBuffer *This,
  2026. IRpcChannelBuffer *_pRpcChannelBuffer,
  2027. PRPC_MESSAGE _pRpcMessage,
  2028. DWORD *_pdwStubPhase);
  2029. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLogEx_hResult_Proxy(
  2030. IWiaLogEx * This,
  2031. /* [in] */ HRESULT hResult);
  2032. void __RPC_STUB IWiaLogEx_hResult_Stub(
  2033. IRpcStubBuffer *This,
  2034. IRpcChannelBuffer *_pRpcChannelBuffer,
  2035. PRPC_MESSAGE _pRpcMessage,
  2036. DWORD *_pdwStubPhase);
  2037. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLogEx_Log_Proxy(
  2038. IWiaLogEx * This,
  2039. /* [in] */ LONG lFlags,
  2040. /* [in] */ LONG lResID,
  2041. /* [in] */ LONG lDetail,
  2042. /* [in] */ BSTR bstrText);
  2043. void __RPC_STUB IWiaLogEx_Log_Stub(
  2044. IRpcStubBuffer *This,
  2045. IRpcChannelBuffer *_pRpcChannelBuffer,
  2046. PRPC_MESSAGE _pRpcMessage,
  2047. DWORD *_pdwStubPhase);
  2048. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLogEx_hResultEx_Proxy(
  2049. IWiaLogEx * This,
  2050. /* [in] */ LONG lMethodId,
  2051. /* [in] */ HRESULT hResult);
  2052. void __RPC_STUB IWiaLogEx_hResultEx_Stub(
  2053. IRpcStubBuffer *This,
  2054. IRpcChannelBuffer *_pRpcChannelBuffer,
  2055. PRPC_MESSAGE _pRpcMessage,
  2056. DWORD *_pdwStubPhase);
  2057. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaLogEx_LogEx_Proxy(
  2058. IWiaLogEx * This,
  2059. /* [in] */ LONG lMethodId,
  2060. /* [in] */ LONG lFlags,
  2061. /* [in] */ LONG lResID,
  2062. /* [in] */ LONG lDetail,
  2063. /* [in] */ BSTR bstrText);
  2064. void __RPC_STUB IWiaLogEx_LogEx_Stub(
  2065. IRpcStubBuffer *This,
  2066. IRpcChannelBuffer *_pRpcChannelBuffer,
  2067. PRPC_MESSAGE _pRpcMessage,
  2068. DWORD *_pdwStubPhase);
  2069. #endif /* __IWiaLogEx_INTERFACE_DEFINED__ */
  2070. #ifndef __IWiaNotifyDevMgr_INTERFACE_DEFINED__
  2071. #define __IWiaNotifyDevMgr_INTERFACE_DEFINED__
  2072. /* interface IWiaNotifyDevMgr */
  2073. /* [unique][helpstring][uuid][object] */
  2074. EXTERN_C const IID IID_IWiaNotifyDevMgr;
  2075. #if defined(__cplusplus) && !defined(CINTERFACE)
  2076. MIDL_INTERFACE("70681EA0-E7BF-4291-9FB1-4E8813A3F78E")
  2077. IWiaNotifyDevMgr : public IUnknown
  2078. {
  2079. public:
  2080. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NewDeviceArrival( void) = 0;
  2081. };
  2082. #else /* C style interface */
  2083. typedef struct IWiaNotifyDevMgrVtbl
  2084. {
  2085. BEGIN_INTERFACE
  2086. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2087. IWiaNotifyDevMgr * This,
  2088. /* [in] */ REFIID riid,
  2089. /* [iid_is][out] */ void **ppvObject);
  2090. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2091. IWiaNotifyDevMgr * This);
  2092. ULONG ( STDMETHODCALLTYPE *Release )(
  2093. IWiaNotifyDevMgr * This);
  2094. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NewDeviceArrival )(
  2095. IWiaNotifyDevMgr * This);
  2096. END_INTERFACE
  2097. } IWiaNotifyDevMgrVtbl;
  2098. interface IWiaNotifyDevMgr
  2099. {
  2100. CONST_VTBL struct IWiaNotifyDevMgrVtbl *lpVtbl;
  2101. };
  2102. #ifdef COBJMACROS
  2103. #define IWiaNotifyDevMgr_QueryInterface(This,riid,ppvObject) \
  2104. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2105. #define IWiaNotifyDevMgr_AddRef(This) \
  2106. (This)->lpVtbl -> AddRef(This)
  2107. #define IWiaNotifyDevMgr_Release(This) \
  2108. (This)->lpVtbl -> Release(This)
  2109. #define IWiaNotifyDevMgr_NewDeviceArrival(This) \
  2110. (This)->lpVtbl -> NewDeviceArrival(This)
  2111. #endif /* COBJMACROS */
  2112. #endif /* C style interface */
  2113. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaNotifyDevMgr_NewDeviceArrival_Proxy(
  2114. IWiaNotifyDevMgr * This);
  2115. void __RPC_STUB IWiaNotifyDevMgr_NewDeviceArrival_Stub(
  2116. IRpcStubBuffer *This,
  2117. IRpcChannelBuffer *_pRpcChannelBuffer,
  2118. PRPC_MESSAGE _pRpcMessage,
  2119. DWORD *_pdwStubPhase);
  2120. #endif /* __IWiaNotifyDevMgr_INTERFACE_DEFINED__ */
  2121. #ifndef __IWiaItemExtras_INTERFACE_DEFINED__
  2122. #define __IWiaItemExtras_INTERFACE_DEFINED__
  2123. /* interface IWiaItemExtras */
  2124. /* [unique][helpstring][uuid][object] */
  2125. EXTERN_C const IID IID_IWiaItemExtras;
  2126. #if defined(__cplusplus) && !defined(CINTERFACE)
  2127. MIDL_INTERFACE("6291ef2c-36ef-4532-876a-8e132593778d")
  2128. IWiaItemExtras : public IUnknown
  2129. {
  2130. public:
  2131. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExtendedErrorInfo(
  2132. /* [out] */ BSTR *bstrErrorText) = 0;
  2133. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Escape(
  2134. /* [in] */ DWORD dwEscapeCode,
  2135. /* [size_is][in] */ BYTE *lpInData,
  2136. /* [in] */ DWORD cbInDataSize,
  2137. /* [length_is][size_is][out] */ BYTE *pOutData,
  2138. /* [in] */ DWORD dwOutDataSize,
  2139. /* [out] */ DWORD *pdwActualDataSize) = 0;
  2140. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CancelPendingIO( void) = 0;
  2141. };
  2142. #else /* C style interface */
  2143. typedef struct IWiaItemExtrasVtbl
  2144. {
  2145. BEGIN_INTERFACE
  2146. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2147. IWiaItemExtras * This,
  2148. /* [in] */ REFIID riid,
  2149. /* [iid_is][out] */ void **ppvObject);
  2150. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2151. IWiaItemExtras * This);
  2152. ULONG ( STDMETHODCALLTYPE *Release )(
  2153. IWiaItemExtras * This);
  2154. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExtendedErrorInfo )(
  2155. IWiaItemExtras * This,
  2156. /* [out] */ BSTR *bstrErrorText);
  2157. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Escape )(
  2158. IWiaItemExtras * This,
  2159. /* [in] */ DWORD dwEscapeCode,
  2160. /* [size_is][in] */ BYTE *lpInData,
  2161. /* [in] */ DWORD cbInDataSize,
  2162. /* [length_is][size_is][out] */ BYTE *pOutData,
  2163. /* [in] */ DWORD dwOutDataSize,
  2164. /* [out] */ DWORD *pdwActualDataSize);
  2165. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CancelPendingIO )(
  2166. IWiaItemExtras * This);
  2167. END_INTERFACE
  2168. } IWiaItemExtrasVtbl;
  2169. interface IWiaItemExtras
  2170. {
  2171. CONST_VTBL struct IWiaItemExtrasVtbl *lpVtbl;
  2172. };
  2173. #ifdef COBJMACROS
  2174. #define IWiaItemExtras_QueryInterface(This,riid,ppvObject) \
  2175. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2176. #define IWiaItemExtras_AddRef(This) \
  2177. (This)->lpVtbl -> AddRef(This)
  2178. #define IWiaItemExtras_Release(This) \
  2179. (This)->lpVtbl -> Release(This)
  2180. #define IWiaItemExtras_GetExtendedErrorInfo(This,bstrErrorText) \
  2181. (This)->lpVtbl -> GetExtendedErrorInfo(This,bstrErrorText)
  2182. #define IWiaItemExtras_Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize) \
  2183. (This)->lpVtbl -> Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize)
  2184. #define IWiaItemExtras_CancelPendingIO(This) \
  2185. (This)->lpVtbl -> CancelPendingIO(This)
  2186. #endif /* COBJMACROS */
  2187. #endif /* C style interface */
  2188. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItemExtras_GetExtendedErrorInfo_Proxy(
  2189. IWiaItemExtras * This,
  2190. /* [out] */ BSTR *bstrErrorText);
  2191. void __RPC_STUB IWiaItemExtras_GetExtendedErrorInfo_Stub(
  2192. IRpcStubBuffer *This,
  2193. IRpcChannelBuffer *_pRpcChannelBuffer,
  2194. PRPC_MESSAGE _pRpcMessage,
  2195. DWORD *_pdwStubPhase);
  2196. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItemExtras_Escape_Proxy(
  2197. IWiaItemExtras * This,
  2198. /* [in] */ DWORD dwEscapeCode,
  2199. /* [size_is][in] */ BYTE *lpInData,
  2200. /* [in] */ DWORD cbInDataSize,
  2201. /* [length_is][size_is][out] */ BYTE *pOutData,
  2202. /* [in] */ DWORD dwOutDataSize,
  2203. /* [out] */ DWORD *pdwActualDataSize);
  2204. void __RPC_STUB IWiaItemExtras_Escape_Stub(
  2205. IRpcStubBuffer *This,
  2206. IRpcChannelBuffer *_pRpcChannelBuffer,
  2207. PRPC_MESSAGE _pRpcMessage,
  2208. DWORD *_pdwStubPhase);
  2209. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWiaItemExtras_CancelPendingIO_Proxy(
  2210. IWiaItemExtras * This);
  2211. void __RPC_STUB IWiaItemExtras_CancelPendingIO_Stub(
  2212. IRpcStubBuffer *This,
  2213. IRpcChannelBuffer *_pRpcChannelBuffer,
  2214. PRPC_MESSAGE _pRpcMessage,
  2215. DWORD *_pdwStubPhase);
  2216. #endif /* __IWiaItemExtras_INTERFACE_DEFINED__ */
  2217. #ifndef __WiaDevMgr_LIBRARY_DEFINED__
  2218. #define __WiaDevMgr_LIBRARY_DEFINED__
  2219. /* library WiaDevMgr */
  2220. /* [helpstring][version][uuid] */
  2221. EXTERN_C const IID LIBID_WiaDevMgr;
  2222. EXTERN_C const CLSID CLSID_WiaDevMgr;
  2223. #ifdef __cplusplus
  2224. class DECLSPEC_UUID("a1f4e726-8cf1-11d1-bf92-0060081ed811")
  2225. WiaDevMgr;
  2226. #endif
  2227. EXTERN_C const CLSID CLSID_WiaLog;
  2228. #ifdef __cplusplus
  2229. class DECLSPEC_UUID("A1E75357-881A-419e-83E2-BB16DB197C68")
  2230. WiaLog;
  2231. #endif
  2232. #endif /* __WiaDevMgr_LIBRARY_DEFINED__ */
  2233. /* Additional Prototypes for ALL interfaces */
  2234. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  2235. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  2236. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  2237. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  2238. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  2239. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  2240. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  2241. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  2242. unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
  2243. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
  2244. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
  2245. void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
  2246. unsigned long __RPC_USER STGMEDIUM_UserSize( unsigned long *, unsigned long , STGMEDIUM * );
  2247. unsigned char * __RPC_USER STGMEDIUM_UserMarshal( unsigned long *, unsigned char *, STGMEDIUM * );
  2248. unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM * );
  2249. void __RPC_USER STGMEDIUM_UserFree( unsigned long *, STGMEDIUM * );
  2250. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_CreateDevice_Proxy(
  2251. IWiaDevMgr * This,
  2252. /* [in] */ BSTR bstrDeviceID,
  2253. /* [out] */ IWiaItem **ppWiaItemRoot);
  2254. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_CreateDevice_Stub(
  2255. IWiaDevMgr * This,
  2256. /* [in] */ BSTR bstrDeviceID,
  2257. /* [out] */ IWiaItem **ppWiaItemRoot);
  2258. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlg_Proxy(
  2259. IWiaDevMgr * This,
  2260. /* [in] */ HWND hwndParent,
  2261. /* [in] */ LONG lDeviceType,
  2262. /* [in] */ LONG lFlags,
  2263. /* [out][in] */ BSTR *pbstrDeviceID,
  2264. /* [retval][out] */ IWiaItem **ppItemRoot);
  2265. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlg_Stub(
  2266. IWiaDevMgr * This,
  2267. /* [in] */ HWND hwndParent,
  2268. /* [in] */ LONG lDeviceType,
  2269. /* [in] */ LONG lFlags,
  2270. /* [out][in] */ BSTR *pbstrDeviceID,
  2271. /* [retval][out] */ IWiaItem **ppItemRoot);
  2272. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlgID_Proxy(
  2273. IWiaDevMgr * This,
  2274. /* [in] */ HWND hwndParent,
  2275. /* [in] */ LONG lDeviceType,
  2276. /* [in] */ LONG lFlags,
  2277. /* [retval][out] */ BSTR *pbstrDeviceID);
  2278. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlgID_Stub(
  2279. IWiaDevMgr * This,
  2280. /* [in] */ HWND hwndParent,
  2281. /* [in] */ LONG lDeviceType,
  2282. /* [in] */ LONG lFlags,
  2283. /* [retval][out] */ BSTR *pbstrDeviceID);
  2284. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_GetImageDlg_Proxy(
  2285. IWiaDevMgr * This,
  2286. /* [in] */ HWND hwndParent,
  2287. /* [in] */ LONG lDeviceType,
  2288. /* [in] */ LONG lFlags,
  2289. /* [in] */ LONG lIntent,
  2290. /* [in] */ IWiaItem *pItemRoot,
  2291. /* [in] */ BSTR bstrFilename,
  2292. /* [out][in] */ GUID *pguidFormat);
  2293. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_GetImageDlg_Stub(
  2294. IWiaDevMgr * This,
  2295. /* [in] */ HWND hwndParent,
  2296. /* [in] */ LONG lDeviceType,
  2297. /* [in] */ LONG lFlags,
  2298. /* [in] */ LONG lIntent,
  2299. /* [in] */ IWiaItem *pItemRoot,
  2300. /* [in] */ BSTR bstrFilename,
  2301. /* [out][in] */ GUID *pguidFormat);
  2302. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackProgram_Proxy(
  2303. IWiaDevMgr * This,
  2304. /* [in] */ LONG lFlags,
  2305. /* [in] */ BSTR bstrDeviceID,
  2306. /* [in] */ const GUID *pEventGUID,
  2307. /* [in] */ BSTR bstrCommandline,
  2308. /* [in] */ BSTR bstrName,
  2309. /* [in] */ BSTR bstrDescription,
  2310. /* [in] */ BSTR bstrIcon);
  2311. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackProgram_Stub(
  2312. IWiaDevMgr * This,
  2313. /* [in] */ LONG lFlags,
  2314. /* [in] */ BSTR bstrDeviceID,
  2315. /* [in] */ const GUID *pEventGUID,
  2316. /* [in] */ BSTR bstrCommandline,
  2317. /* [in] */ BSTR bstrName,
  2318. /* [in] */ BSTR bstrDescription,
  2319. /* [in] */ BSTR bstrIcon);
  2320. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackCLSID_Proxy(
  2321. IWiaDevMgr * This,
  2322. /* [in] */ LONG lFlags,
  2323. /* [in] */ BSTR bstrDeviceID,
  2324. /* [in] */ const GUID *pEventGUID,
  2325. /* [unique][in] */ const GUID *pClsID,
  2326. /* [in] */ BSTR bstrName,
  2327. /* [in] */ BSTR bstrDescription,
  2328. /* [in] */ BSTR bstrIcon);
  2329. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackCLSID_Stub(
  2330. IWiaDevMgr * This,
  2331. /* [in] */ LONG lFlags,
  2332. /* [in] */ BSTR bstrDeviceID,
  2333. /* [in] */ const GUID *pEventGUID,
  2334. /* [unique][in] */ const GUID *pClsID,
  2335. /* [in] */ BSTR bstrName,
  2336. /* [in] */ BSTR bstrDescription,
  2337. /* [in] */ BSTR bstrIcon);
  2338. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Next_Proxy(
  2339. IEnumWIA_DEV_INFO * This,
  2340. /* [in] */ ULONG celt,
  2341. /* [length_is][size_is][out] */ IWiaPropertyStorage **rgelt,
  2342. /* [unique][out][in] */ ULONG *pceltFetched);
  2343. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Next_Stub(
  2344. IEnumWIA_DEV_INFO * This,
  2345. /* [in] */ ULONG celt,
  2346. /* [length_is][size_is][out] */ IWiaPropertyStorage **rgelt,
  2347. /* [unique][out][in] */ ULONG *pceltFetched);
  2348. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_BandedDataCallback_Proxy(
  2349. IWiaDataCallback * This,
  2350. /* [in] */ LONG lMessage,
  2351. /* [in] */ LONG lStatus,
  2352. /* [in] */ LONG lPercentComplete,
  2353. /* [in] */ LONG lOffset,
  2354. /* [in] */ LONG lLength,
  2355. /* [in] */ LONG lReserved,
  2356. /* [in] */ LONG lResLength,
  2357. /* [size_is][in] */ BYTE *pbBuffer);
  2358. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_BandedDataCallback_Stub(
  2359. IWiaDataCallback * This,
  2360. /* [in] */ LONG lMessage,
  2361. /* [in] */ LONG lStatus,
  2362. /* [in] */ LONG lPercentComplete,
  2363. /* [in] */ LONG lOffset,
  2364. /* [in] */ LONG lLength,
  2365. /* [in] */ LONG lReserved,
  2366. /* [in] */ LONG lResLength,
  2367. /* [unique][size_is][in] */ BYTE *pbBuffer);
  2368. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetData_Proxy(
  2369. IWiaDataTransfer * This,
  2370. /* [out][in] */ LPSTGMEDIUM pMedium,
  2371. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  2372. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetData_Stub(
  2373. IWiaDataTransfer * This,
  2374. /* [out][in] */ LPSTGMEDIUM pMedium,
  2375. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  2376. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedData_Proxy(
  2377. IWiaDataTransfer * This,
  2378. /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  2379. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  2380. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedData_Stub(
  2381. IWiaDataTransfer * This,
  2382. /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  2383. /* [unique][in] */ IWiaDataCallback *pIWiaDataCallback);
  2384. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceDlg_Proxy(
  2385. IWiaItem * This,
  2386. /* [in] */ HWND hwndParent,
  2387. /* [in] */ LONG lFlags,
  2388. /* [in] */ LONG lIntent,
  2389. /* [out] */ LONG *plItemCount,
  2390. /* [out] */ IWiaItem ***ppIWiaItem);
  2391. /* [nocode][helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceDlg_Stub(
  2392. IWiaItem * This,
  2393. /* [in] */ HWND hwndParent,
  2394. /* [in] */ LONG lFlags,
  2395. /* [in] */ LONG lIntent,
  2396. /* [out] */ LONG *plItemCount,
  2397. /* [out] */ IWiaItem ***pIWiaItem);
  2398. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Next_Proxy(
  2399. IEnumWiaItem * This,
  2400. /* [in] */ ULONG celt,
  2401. /* [length_is][size_is][out] */ IWiaItem **ppIWiaItem,
  2402. /* [unique][out][in] */ ULONG *pceltFetched);
  2403. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Next_Stub(
  2404. IEnumWiaItem * This,
  2405. /* [in] */ ULONG celt,
  2406. /* [length_is][size_is][out] */ IWiaItem **ppIWiaItem,
  2407. /* [unique][out][in] */ ULONG *pceltFetched);
  2408. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Next_Proxy(
  2409. IEnumWIA_DEV_CAPS * This,
  2410. /* [in] */ ULONG celt,
  2411. /* [length_is][size_is][out] */ WIA_DEV_CAP *rgelt,
  2412. /* [unique][out][in] */ ULONG *pceltFetched);
  2413. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Next_Stub(
  2414. IEnumWIA_DEV_CAPS * This,
  2415. /* [in] */ ULONG celt,
  2416. /* [length_is][size_is][out] */ WIA_DEV_CAP *rgelt,
  2417. /* [unique][out][in] */ ULONG *pceltFetched);
  2418. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Next_Proxy(
  2419. IEnumWIA_FORMAT_INFO * This,
  2420. /* [in] */ ULONG celt,
  2421. /* [length_is][size_is][out] */ WIA_FORMAT_INFO *rgelt,
  2422. /* [unique][out][in] */ ULONG *pceltFetched);
  2423. /* [helpstring][call_as] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Next_Stub(
  2424. IEnumWIA_FORMAT_INFO * This,
  2425. /* [in] */ ULONG celt,
  2426. /* [length_is][size_is][out] */ WIA_FORMAT_INFO *rgelt,
  2427. /* [unique][out][in] */ ULONG *pceltFetched);
  2428. /* end of Additional Prototypes */
  2429. #ifdef __cplusplus
  2430. }
  2431. #endif
  2432. #endif