credentialprovider.h 114 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609
  1. /*** Autogenerated by WIDL 7.7 from include/credentialprovider.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __credentialprovider_h__
  14. #define __credentialprovider_h__
  15. /* Forward declarations */
  16. #ifndef __ICredentialProviderCredential_FWD_DEFINED__
  17. #define __ICredentialProviderCredential_FWD_DEFINED__
  18. typedef interface ICredentialProviderCredential ICredentialProviderCredential;
  19. #ifdef __cplusplus
  20. interface ICredentialProviderCredential;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IQueryContinueWithStatus_FWD_DEFINED__
  24. #define __IQueryContinueWithStatus_FWD_DEFINED__
  25. typedef interface IQueryContinueWithStatus IQueryContinueWithStatus;
  26. #ifdef __cplusplus
  27. interface IQueryContinueWithStatus;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IConnectableCredentialProviderCredential_FWD_DEFINED__
  31. #define __IConnectableCredentialProviderCredential_FWD_DEFINED__
  32. typedef interface IConnectableCredentialProviderCredential IConnectableCredentialProviderCredential;
  33. #ifdef __cplusplus
  34. interface IConnectableCredentialProviderCredential;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __ICredentialProviderCredentialEvents_FWD_DEFINED__
  38. #define __ICredentialProviderCredentialEvents_FWD_DEFINED__
  39. typedef interface ICredentialProviderCredentialEvents ICredentialProviderCredentialEvents;
  40. #ifdef __cplusplus
  41. interface ICredentialProviderCredentialEvents;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __ICredentialProvider_FWD_DEFINED__
  45. #define __ICredentialProvider_FWD_DEFINED__
  46. typedef interface ICredentialProvider ICredentialProvider;
  47. #ifdef __cplusplus
  48. interface ICredentialProvider;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __ICredentialProviderEvents_FWD_DEFINED__
  52. #define __ICredentialProviderEvents_FWD_DEFINED__
  53. typedef interface ICredentialProviderEvents ICredentialProviderEvents;
  54. #ifdef __cplusplus
  55. interface ICredentialProviderEvents;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __ICredentialProviderFilter_FWD_DEFINED__
  59. #define __ICredentialProviderFilter_FWD_DEFINED__
  60. typedef interface ICredentialProviderFilter ICredentialProviderFilter;
  61. #ifdef __cplusplus
  62. interface ICredentialProviderFilter;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __ICredentialProviderCredential2_FWD_DEFINED__
  66. #define __ICredentialProviderCredential2_FWD_DEFINED__
  67. typedef interface ICredentialProviderCredential2 ICredentialProviderCredential2;
  68. #ifdef __cplusplus
  69. interface ICredentialProviderCredential2;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __ICredentialProviderCredentialWithFieldOptions_FWD_DEFINED__
  73. #define __ICredentialProviderCredentialWithFieldOptions_FWD_DEFINED__
  74. typedef interface ICredentialProviderCredentialWithFieldOptions ICredentialProviderCredentialWithFieldOptions;
  75. #ifdef __cplusplus
  76. interface ICredentialProviderCredentialWithFieldOptions;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __ICredentialProviderCredentialEvents2_FWD_DEFINED__
  80. #define __ICredentialProviderCredentialEvents2_FWD_DEFINED__
  81. typedef interface ICredentialProviderCredentialEvents2 ICredentialProviderCredentialEvents2;
  82. #ifdef __cplusplus
  83. interface ICredentialProviderCredentialEvents2;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __ICredentialProviderUser_FWD_DEFINED__
  87. #define __ICredentialProviderUser_FWD_DEFINED__
  88. typedef interface ICredentialProviderUser ICredentialProviderUser;
  89. #ifdef __cplusplus
  90. interface ICredentialProviderUser;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __ICredentialProviderUserArray_FWD_DEFINED__
  94. #define __ICredentialProviderUserArray_FWD_DEFINED__
  95. typedef interface ICredentialProviderUserArray ICredentialProviderUserArray;
  96. #ifdef __cplusplus
  97. interface ICredentialProviderUserArray;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __ICredentialProviderSetUserArray_FWD_DEFINED__
  101. #define __ICredentialProviderSetUserArray_FWD_DEFINED__
  102. typedef interface ICredentialProviderSetUserArray ICredentialProviderSetUserArray;
  103. #ifdef __cplusplus
  104. interface ICredentialProviderSetUserArray;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __PasswordCredentialProvider_FWD_DEFINED__
  108. #define __PasswordCredentialProvider_FWD_DEFINED__
  109. #ifdef __cplusplus
  110. typedef class PasswordCredentialProvider PasswordCredentialProvider;
  111. #else
  112. typedef struct PasswordCredentialProvider PasswordCredentialProvider;
  113. #endif /* defined __cplusplus */
  114. #endif /* defined __PasswordCredentialProvider_FWD_DEFINED__ */
  115. #ifndef __V1PasswordCredentialProvider_FWD_DEFINED__
  116. #define __V1PasswordCredentialProvider_FWD_DEFINED__
  117. #ifdef __cplusplus
  118. typedef class V1PasswordCredentialProvider V1PasswordCredentialProvider;
  119. #else
  120. typedef struct V1PasswordCredentialProvider V1PasswordCredentialProvider;
  121. #endif /* defined __cplusplus */
  122. #endif /* defined __V1PasswordCredentialProvider_FWD_DEFINED__ */
  123. #ifndef __PINLogonCredentialProvider_FWD_DEFINED__
  124. #define __PINLogonCredentialProvider_FWD_DEFINED__
  125. #ifdef __cplusplus
  126. typedef class PINLogonCredentialProvider PINLogonCredentialProvider;
  127. #else
  128. typedef struct PINLogonCredentialProvider PINLogonCredentialProvider;
  129. #endif /* defined __cplusplus */
  130. #endif /* defined __PINLogonCredentialProvider_FWD_DEFINED__ */
  131. #ifndef __NPCredentialProvider_FWD_DEFINED__
  132. #define __NPCredentialProvider_FWD_DEFINED__
  133. #ifdef __cplusplus
  134. typedef class NPCredentialProvider NPCredentialProvider;
  135. #else
  136. typedef struct NPCredentialProvider NPCredentialProvider;
  137. #endif /* defined __cplusplus */
  138. #endif /* defined __NPCredentialProvider_FWD_DEFINED__ */
  139. #ifndef __SmartcardCredentialProvider_FWD_DEFINED__
  140. #define __SmartcardCredentialProvider_FWD_DEFINED__
  141. #ifdef __cplusplus
  142. typedef class SmartcardCredentialProvider SmartcardCredentialProvider;
  143. #else
  144. typedef struct SmartcardCredentialProvider SmartcardCredentialProvider;
  145. #endif /* defined __cplusplus */
  146. #endif /* defined __SmartcardCredentialProvider_FWD_DEFINED__ */
  147. #ifndef __V1SmartcardCredentialProvider_FWD_DEFINED__
  148. #define __V1SmartcardCredentialProvider_FWD_DEFINED__
  149. #ifdef __cplusplus
  150. typedef class V1SmartcardCredentialProvider V1SmartcardCredentialProvider;
  151. #else
  152. typedef struct V1SmartcardCredentialProvider V1SmartcardCredentialProvider;
  153. #endif /* defined __cplusplus */
  154. #endif /* defined __V1SmartcardCredentialProvider_FWD_DEFINED__ */
  155. #ifndef __SmartcardPinProvider_FWD_DEFINED__
  156. #define __SmartcardPinProvider_FWD_DEFINED__
  157. #ifdef __cplusplus
  158. typedef class SmartcardPinProvider SmartcardPinProvider;
  159. #else
  160. typedef struct SmartcardPinProvider SmartcardPinProvider;
  161. #endif /* defined __cplusplus */
  162. #endif /* defined __SmartcardPinProvider_FWD_DEFINED__ */
  163. #ifndef __SmartcardReaderSelectionProvider_FWD_DEFINED__
  164. #define __SmartcardReaderSelectionProvider_FWD_DEFINED__
  165. #ifdef __cplusplus
  166. typedef class SmartcardReaderSelectionProvider SmartcardReaderSelectionProvider;
  167. #else
  168. typedef struct SmartcardReaderSelectionProvider SmartcardReaderSelectionProvider;
  169. #endif /* defined __cplusplus */
  170. #endif /* defined __SmartcardReaderSelectionProvider_FWD_DEFINED__ */
  171. #ifndef __SmartcardWinRTProvider_FWD_DEFINED__
  172. #define __SmartcardWinRTProvider_FWD_DEFINED__
  173. #ifdef __cplusplus
  174. typedef class SmartcardWinRTProvider SmartcardWinRTProvider;
  175. #else
  176. typedef struct SmartcardWinRTProvider SmartcardWinRTProvider;
  177. #endif /* defined __cplusplus */
  178. #endif /* defined __SmartcardWinRTProvider_FWD_DEFINED__ */
  179. #ifndef __GenericCredentialProvider_FWD_DEFINED__
  180. #define __GenericCredentialProvider_FWD_DEFINED__
  181. #ifdef __cplusplus
  182. typedef class GenericCredentialProvider GenericCredentialProvider;
  183. #else
  184. typedef struct GenericCredentialProvider GenericCredentialProvider;
  185. #endif /* defined __cplusplus */
  186. #endif /* defined __GenericCredentialProvider_FWD_DEFINED__ */
  187. #ifndef __RASProvider_FWD_DEFINED__
  188. #define __RASProvider_FWD_DEFINED__
  189. #ifdef __cplusplus
  190. typedef class RASProvider RASProvider;
  191. #else
  192. typedef struct RASProvider RASProvider;
  193. #endif /* defined __cplusplus */
  194. #endif /* defined __RASProvider_FWD_DEFINED__ */
  195. #ifndef __OnexCredentialProvider_FWD_DEFINED__
  196. #define __OnexCredentialProvider_FWD_DEFINED__
  197. #ifdef __cplusplus
  198. typedef class OnexCredentialProvider OnexCredentialProvider;
  199. #else
  200. typedef struct OnexCredentialProvider OnexCredentialProvider;
  201. #endif /* defined __cplusplus */
  202. #endif /* defined __OnexCredentialProvider_FWD_DEFINED__ */
  203. #ifndef __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__
  204. #define __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__
  205. #ifdef __cplusplus
  206. typedef class OnexPlapSmartcardCredentialProvider OnexPlapSmartcardCredentialProvider;
  207. #else
  208. typedef struct OnexPlapSmartcardCredentialProvider OnexPlapSmartcardCredentialProvider;
  209. #endif /* defined __cplusplus */
  210. #endif /* defined __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__ */
  211. #ifndef __VaultProvider_FWD_DEFINED__
  212. #define __VaultProvider_FWD_DEFINED__
  213. #ifdef __cplusplus
  214. typedef class VaultProvider VaultProvider;
  215. #else
  216. typedef struct VaultProvider VaultProvider;
  217. #endif /* defined __cplusplus */
  218. #endif /* defined __VaultProvider_FWD_DEFINED__ */
  219. #ifndef __WinBioCredentialProvider_FWD_DEFINED__
  220. #define __WinBioCredentialProvider_FWD_DEFINED__
  221. #ifdef __cplusplus
  222. typedef class WinBioCredentialProvider WinBioCredentialProvider;
  223. #else
  224. typedef struct WinBioCredentialProvider WinBioCredentialProvider;
  225. #endif /* defined __cplusplus */
  226. #endif /* defined __WinBioCredentialProvider_FWD_DEFINED__ */
  227. #ifndef __V1WinBioCredentialProvider_FWD_DEFINED__
  228. #define __V1WinBioCredentialProvider_FWD_DEFINED__
  229. #ifdef __cplusplus
  230. typedef class V1WinBioCredentialProvider V1WinBioCredentialProvider;
  231. #else
  232. typedef struct V1WinBioCredentialProvider V1WinBioCredentialProvider;
  233. #endif /* defined __cplusplus */
  234. #endif /* defined __V1WinBioCredentialProvider_FWD_DEFINED__ */
  235. /* Headers for imported files */
  236. #include <wtypes.h>
  237. #include <shobjidl.h>
  238. #include <propsys.h>
  239. #include <unknwn.h>
  240. #ifdef __cplusplus
  241. extern "C" {
  242. #endif
  243. #include <winapifamily.h>
  244. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  245. typedef enum _CREDENTIAL_PROVIDER_USAGE_SCENARIO {
  246. CPUS_INVALID = 0,
  247. CPUS_LOGON = 1,
  248. CPUS_UNLOCK_WORKSTATION = 2,
  249. CPUS_CHANGE_PASSWORD = 3,
  250. CPUS_CREDUI = 4,
  251. CPUS_PLAP = 5
  252. } CREDENTIAL_PROVIDER_USAGE_SCENARIO;
  253. typedef enum _CREDENTIAL_PROVIDER_FIELD_TYPE {
  254. CPFT_INVALID = 0,
  255. CPFT_LARGE_TEXT = 1,
  256. CPFT_SMALL_TEXT = 2,
  257. CPFT_COMMAND_LINK = 3,
  258. CPFT_EDIT_TEXT = 4,
  259. CPFT_PASSWORD_TEXT = 5,
  260. CPFT_TILE_IMAGE = 6,
  261. CPFT_CHECKBOX = 7,
  262. CPFT_COMBOBOX = 8,
  263. CPFT_SUBMIT_BUTTON = 9
  264. } CREDENTIAL_PROVIDER_FIELD_TYPE;
  265. typedef enum _CREDENTIAL_PROVIDER_FIELD_STATE {
  266. CPFS_HIDDEN = 0,
  267. CPFS_DISPLAY_IN_SELECTED_TILE = 1,
  268. CPFS_DISPLAY_IN_DESELECTED_TILE = 2,
  269. CPFS_DISPLAY_IN_BOTH = 3
  270. } CREDENTIAL_PROVIDER_FIELD_STATE;
  271. typedef enum _CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE {
  272. CPFIS_NONE = 0,
  273. CPFIS_READONLY = 1,
  274. CPFIS_DISABLED = 2,
  275. CPFIS_FOCUSED = 3
  276. } CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE;
  277. typedef struct _CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR {
  278. DWORD dwFieldID;
  279. CREDENTIAL_PROVIDER_FIELD_TYPE cpft;
  280. LPWSTR pszLabel;
  281. GUID guidFieldType;
  282. } CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR;
  283. typedef enum _CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE {
  284. CPGSR_NO_CREDENTIAL_NOT_FINISHED = 0,
  285. CPGSR_NO_CREDENTIAL_FINISHED = 1,
  286. CPGSR_RETURN_CREDENTIAL_FINISHED = 2,
  287. CPGSR_RETURN_NO_CREDENTIAL_FINISHED = 3
  288. } CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE;
  289. typedef enum _CREDENTIAL_PROVIDER_STATUS_ICON {
  290. CPSI_NONE = 0,
  291. CPSI_ERROR = 1,
  292. CPSI_WARNING = 2,
  293. CPSI_SUCCESS = 3
  294. } CREDENTIAL_PROVIDER_STATUS_ICON;
  295. typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
  296. ULONG ulAuthenticationPackage;
  297. GUID clsidCredentialProvider;
  298. ULONG cbSerialization;
  299. byte *rgbSerialization;
  300. } CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
  301. #if (NTDDI_VERSION >= NTDDI_WIN8)
  302. typedef enum CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS {
  303. CPAO_NONE = 0x0,
  304. CPAO_EMPTY_LOCAL = 0x1,
  305. CPAO_EMPTY_CONNECTED = 0x2
  306. } CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS;
  307. DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS)
  308. typedef enum CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS {
  309. CPCFO_NONE = 0x0,
  310. CPCFO_ENABLE_PASSWORD_REVEAL = 0x1,
  311. CPCFO_IS_EMAIL_ADDRESS = 0x2,
  312. CPCFO_ENABLE_TOUCH_KEYBOARD_AUTO_INVOKE = 0x4,
  313. CPCFO_NUMBERS_ONLY = 0x8,
  314. CPCFO_SHOW_ENGLISH_KEYBOARD = 0x10
  315. } CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS;
  316. DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS)
  317. #endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
  318. #ifdef __WIDL__
  319. typedef LONG NTSTATUS;
  320. #else
  321. #ifndef NTSTATUS
  322. typedef LONG NTSTATUS;
  323. #endif
  324. #endif
  325. #define CREDENTIAL_PROVIDER_NO_DEFAULT ((DWORD)-1)
  326. #ifndef __ICredentialProviderCredentialEvents_FWD_DEFINED__
  327. #define __ICredentialProviderCredentialEvents_FWD_DEFINED__
  328. typedef interface ICredentialProviderCredentialEvents ICredentialProviderCredentialEvents;
  329. #ifdef __cplusplus
  330. interface ICredentialProviderCredentialEvents;
  331. #endif /* __cplusplus */
  332. #endif
  333. /*****************************************************************************
  334. * ICredentialProviderCredential interface
  335. */
  336. #ifndef __ICredentialProviderCredential_INTERFACE_DEFINED__
  337. #define __ICredentialProviderCredential_INTERFACE_DEFINED__
  338. DEFINE_GUID(IID_ICredentialProviderCredential, 0x63913a93, 0x40c1, 0x481a, 0x81,0x8d, 0x40,0x72,0xff,0x8c,0x70,0xcc);
  339. #if defined(__cplusplus) && !defined(CINTERFACE)
  340. MIDL_INTERFACE("63913a93-40c1-481a-818d-4072ff8c70cc")
  341. ICredentialProviderCredential : public IUnknown
  342. {
  343. virtual HRESULT STDMETHODCALLTYPE Advise(
  344. ICredentialProviderCredentialEvents *pcpce) = 0;
  345. virtual HRESULT STDMETHODCALLTYPE UnAdvise(
  346. ) = 0;
  347. virtual HRESULT STDMETHODCALLTYPE SetSelected(
  348. WINBOOL *pbAutoLogon) = 0;
  349. virtual HRESULT STDMETHODCALLTYPE SetDeselected(
  350. ) = 0;
  351. virtual HRESULT STDMETHODCALLTYPE GetFieldState(
  352. DWORD dwFieldID,
  353. CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
  354. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) = 0;
  355. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  356. DWORD dwFieldID,
  357. LPWSTR *ppsz) = 0;
  358. virtual HRESULT STDMETHODCALLTYPE GetBitmapValue(
  359. DWORD dwFieldID,
  360. HBITMAP *phbmp) = 0;
  361. virtual HRESULT STDMETHODCALLTYPE GetCheckboxValue(
  362. DWORD dwFieldID,
  363. WINBOOL *pbChecked,
  364. LPWSTR *ppszLabel) = 0;
  365. virtual HRESULT STDMETHODCALLTYPE GetSubmitButtonValue(
  366. DWORD dwFieldID,
  367. DWORD *pdwAdjacentTo) = 0;
  368. virtual HRESULT STDMETHODCALLTYPE GetComboBoxValueCount(
  369. DWORD dwFieldID,
  370. DWORD *pcItems,
  371. DWORD *pdwSelectedItem) = 0;
  372. virtual HRESULT STDMETHODCALLTYPE GetComboBoxValueAt(
  373. DWORD dwFieldID,
  374. DWORD dwItem,
  375. LPWSTR *ppszItem) = 0;
  376. virtual HRESULT STDMETHODCALLTYPE SetStringValue(
  377. DWORD dwFieldID,
  378. LPCWSTR psz) = 0;
  379. virtual HRESULT STDMETHODCALLTYPE SetCheckboxValue(
  380. DWORD dwFieldID,
  381. WINBOOL bChecked) = 0;
  382. virtual HRESULT STDMETHODCALLTYPE SetComboBoxSelectedValue(
  383. DWORD dwFieldID,
  384. DWORD dwSelectedItem) = 0;
  385. virtual HRESULT STDMETHODCALLTYPE CommandLinkClicked(
  386. DWORD dwFieldID) = 0;
  387. virtual HRESULT STDMETHODCALLTYPE GetSerialization(
  388. CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  389. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
  390. LPWSTR *ppszOptionalStatusText,
  391. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) = 0;
  392. virtual HRESULT STDMETHODCALLTYPE ReportResult(
  393. NTSTATUS ntsStatus,
  394. NTSTATUS ntsSubstatus,
  395. LPWSTR *ppszOptionalStatusText,
  396. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) = 0;
  397. };
  398. #ifdef __CRT_UUID_DECL
  399. __CRT_UUID_DECL(ICredentialProviderCredential, 0x63913a93, 0x40c1, 0x481a, 0x81,0x8d, 0x40,0x72,0xff,0x8c,0x70,0xcc)
  400. #endif
  401. #else
  402. typedef struct ICredentialProviderCredentialVtbl {
  403. BEGIN_INTERFACE
  404. /*** IUnknown methods ***/
  405. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  406. ICredentialProviderCredential *This,
  407. REFIID riid,
  408. void **ppvObject);
  409. ULONG (STDMETHODCALLTYPE *AddRef)(
  410. ICredentialProviderCredential *This);
  411. ULONG (STDMETHODCALLTYPE *Release)(
  412. ICredentialProviderCredential *This);
  413. /*** ICredentialProviderCredential methods ***/
  414. HRESULT (STDMETHODCALLTYPE *Advise)(
  415. ICredentialProviderCredential *This,
  416. ICredentialProviderCredentialEvents *pcpce);
  417. HRESULT (STDMETHODCALLTYPE *UnAdvise)(
  418. ICredentialProviderCredential *This);
  419. HRESULT (STDMETHODCALLTYPE *SetSelected)(
  420. ICredentialProviderCredential *This,
  421. WINBOOL *pbAutoLogon);
  422. HRESULT (STDMETHODCALLTYPE *SetDeselected)(
  423. ICredentialProviderCredential *This);
  424. HRESULT (STDMETHODCALLTYPE *GetFieldState)(
  425. ICredentialProviderCredential *This,
  426. DWORD dwFieldID,
  427. CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
  428. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
  429. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  430. ICredentialProviderCredential *This,
  431. DWORD dwFieldID,
  432. LPWSTR *ppsz);
  433. HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
  434. ICredentialProviderCredential *This,
  435. DWORD dwFieldID,
  436. HBITMAP *phbmp);
  437. HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
  438. ICredentialProviderCredential *This,
  439. DWORD dwFieldID,
  440. WINBOOL *pbChecked,
  441. LPWSTR *ppszLabel);
  442. HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
  443. ICredentialProviderCredential *This,
  444. DWORD dwFieldID,
  445. DWORD *pdwAdjacentTo);
  446. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
  447. ICredentialProviderCredential *This,
  448. DWORD dwFieldID,
  449. DWORD *pcItems,
  450. DWORD *pdwSelectedItem);
  451. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
  452. ICredentialProviderCredential *This,
  453. DWORD dwFieldID,
  454. DWORD dwItem,
  455. LPWSTR *ppszItem);
  456. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  457. ICredentialProviderCredential *This,
  458. DWORD dwFieldID,
  459. LPCWSTR psz);
  460. HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
  461. ICredentialProviderCredential *This,
  462. DWORD dwFieldID,
  463. WINBOOL bChecked);
  464. HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
  465. ICredentialProviderCredential *This,
  466. DWORD dwFieldID,
  467. DWORD dwSelectedItem);
  468. HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
  469. ICredentialProviderCredential *This,
  470. DWORD dwFieldID);
  471. HRESULT (STDMETHODCALLTYPE *GetSerialization)(
  472. ICredentialProviderCredential *This,
  473. CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  474. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
  475. LPWSTR *ppszOptionalStatusText,
  476. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  477. HRESULT (STDMETHODCALLTYPE *ReportResult)(
  478. ICredentialProviderCredential *This,
  479. NTSTATUS ntsStatus,
  480. NTSTATUS ntsSubstatus,
  481. LPWSTR *ppszOptionalStatusText,
  482. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  483. END_INTERFACE
  484. } ICredentialProviderCredentialVtbl;
  485. interface ICredentialProviderCredential {
  486. CONST_VTBL ICredentialProviderCredentialVtbl* lpVtbl;
  487. };
  488. #ifdef COBJMACROS
  489. #ifndef WIDL_C_INLINE_WRAPPERS
  490. /*** IUnknown methods ***/
  491. #define ICredentialProviderCredential_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  492. #define ICredentialProviderCredential_AddRef(This) (This)->lpVtbl->AddRef(This)
  493. #define ICredentialProviderCredential_Release(This) (This)->lpVtbl->Release(This)
  494. /*** ICredentialProviderCredential methods ***/
  495. #define ICredentialProviderCredential_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
  496. #define ICredentialProviderCredential_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
  497. #define ICredentialProviderCredential_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
  498. #define ICredentialProviderCredential_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
  499. #define ICredentialProviderCredential_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
  500. #define ICredentialProviderCredential_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
  501. #define ICredentialProviderCredential_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
  502. #define ICredentialProviderCredential_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
  503. #define ICredentialProviderCredential_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
  504. #define ICredentialProviderCredential_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
  505. #define ICredentialProviderCredential_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
  506. #define ICredentialProviderCredential_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
  507. #define ICredentialProviderCredential_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
  508. #define ICredentialProviderCredential_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
  509. #define ICredentialProviderCredential_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
  510. #define ICredentialProviderCredential_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  511. #define ICredentialProviderCredential_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  512. #else
  513. /*** IUnknown methods ***/
  514. static FORCEINLINE HRESULT ICredentialProviderCredential_QueryInterface(ICredentialProviderCredential* This,REFIID riid,void **ppvObject) {
  515. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  516. }
  517. static FORCEINLINE ULONG ICredentialProviderCredential_AddRef(ICredentialProviderCredential* This) {
  518. return This->lpVtbl->AddRef(This);
  519. }
  520. static FORCEINLINE ULONG ICredentialProviderCredential_Release(ICredentialProviderCredential* This) {
  521. return This->lpVtbl->Release(This);
  522. }
  523. /*** ICredentialProviderCredential methods ***/
  524. static FORCEINLINE HRESULT ICredentialProviderCredential_Advise(ICredentialProviderCredential* This,ICredentialProviderCredentialEvents *pcpce) {
  525. return This->lpVtbl->Advise(This,pcpce);
  526. }
  527. static FORCEINLINE HRESULT ICredentialProviderCredential_UnAdvise(ICredentialProviderCredential* This) {
  528. return This->lpVtbl->UnAdvise(This);
  529. }
  530. static FORCEINLINE HRESULT ICredentialProviderCredential_SetSelected(ICredentialProviderCredential* This,WINBOOL *pbAutoLogon) {
  531. return This->lpVtbl->SetSelected(This,pbAutoLogon);
  532. }
  533. static FORCEINLINE HRESULT ICredentialProviderCredential_SetDeselected(ICredentialProviderCredential* This) {
  534. return This->lpVtbl->SetDeselected(This);
  535. }
  536. static FORCEINLINE HRESULT ICredentialProviderCredential_GetFieldState(ICredentialProviderCredential* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
  537. return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
  538. }
  539. static FORCEINLINE HRESULT ICredentialProviderCredential_GetStringValue(ICredentialProviderCredential* This,DWORD dwFieldID,LPWSTR *ppsz) {
  540. return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
  541. }
  542. static FORCEINLINE HRESULT ICredentialProviderCredential_GetBitmapValue(ICredentialProviderCredential* This,DWORD dwFieldID,HBITMAP *phbmp) {
  543. return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
  544. }
  545. static FORCEINLINE HRESULT ICredentialProviderCredential_GetCheckboxValue(ICredentialProviderCredential* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
  546. return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
  547. }
  548. static FORCEINLINE HRESULT ICredentialProviderCredential_GetSubmitButtonValue(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
  549. return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
  550. }
  551. static FORCEINLINE HRESULT ICredentialProviderCredential_GetComboBoxValueCount(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
  552. return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
  553. }
  554. static FORCEINLINE HRESULT ICredentialProviderCredential_GetComboBoxValueAt(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
  555. return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
  556. }
  557. static FORCEINLINE HRESULT ICredentialProviderCredential_SetStringValue(ICredentialProviderCredential* This,DWORD dwFieldID,LPCWSTR psz) {
  558. return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
  559. }
  560. static FORCEINLINE HRESULT ICredentialProviderCredential_SetCheckboxValue(ICredentialProviderCredential* This,DWORD dwFieldID,WINBOOL bChecked) {
  561. return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
  562. }
  563. static FORCEINLINE HRESULT ICredentialProviderCredential_SetComboBoxSelectedValue(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD dwSelectedItem) {
  564. return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
  565. }
  566. static FORCEINLINE HRESULT ICredentialProviderCredential_CommandLinkClicked(ICredentialProviderCredential* This,DWORD dwFieldID) {
  567. return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
  568. }
  569. static FORCEINLINE HRESULT ICredentialProviderCredential_GetSerialization(ICredentialProviderCredential* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  570. return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  571. }
  572. static FORCEINLINE HRESULT ICredentialProviderCredential_ReportResult(ICredentialProviderCredential* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  573. return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  574. }
  575. #endif
  576. #endif
  577. #endif
  578. #endif /* __ICredentialProviderCredential_INTERFACE_DEFINED__ */
  579. /*****************************************************************************
  580. * IQueryContinueWithStatus interface
  581. */
  582. #ifndef __IQueryContinueWithStatus_INTERFACE_DEFINED__
  583. #define __IQueryContinueWithStatus_INTERFACE_DEFINED__
  584. DEFINE_GUID(IID_IQueryContinueWithStatus, 0x9090be5b, 0x502b, 0x41fb, 0xbc,0xcc, 0x00,0x49,0xa6,0xc7,0x25,0x4b);
  585. #if defined(__cplusplus) && !defined(CINTERFACE)
  586. MIDL_INTERFACE("9090be5b-502b-41fb-bccc-0049a6c7254b")
  587. IQueryContinueWithStatus : public IQueryContinue
  588. {
  589. virtual HRESULT STDMETHODCALLTYPE SetStatusMessage(
  590. LPCWSTR psz) = 0;
  591. };
  592. #ifdef __CRT_UUID_DECL
  593. __CRT_UUID_DECL(IQueryContinueWithStatus, 0x9090be5b, 0x502b, 0x41fb, 0xbc,0xcc, 0x00,0x49,0xa6,0xc7,0x25,0x4b)
  594. #endif
  595. #else
  596. typedef struct IQueryContinueWithStatusVtbl {
  597. BEGIN_INTERFACE
  598. /*** IUnknown methods ***/
  599. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  600. IQueryContinueWithStatus *This,
  601. REFIID riid,
  602. void **ppvObject);
  603. ULONG (STDMETHODCALLTYPE *AddRef)(
  604. IQueryContinueWithStatus *This);
  605. ULONG (STDMETHODCALLTYPE *Release)(
  606. IQueryContinueWithStatus *This);
  607. /*** IQueryContinue methods ***/
  608. HRESULT (STDMETHODCALLTYPE *QueryContinue)(
  609. IQueryContinueWithStatus *This);
  610. /*** IQueryContinueWithStatus methods ***/
  611. HRESULT (STDMETHODCALLTYPE *SetStatusMessage)(
  612. IQueryContinueWithStatus *This,
  613. LPCWSTR psz);
  614. END_INTERFACE
  615. } IQueryContinueWithStatusVtbl;
  616. interface IQueryContinueWithStatus {
  617. CONST_VTBL IQueryContinueWithStatusVtbl* lpVtbl;
  618. };
  619. #ifdef COBJMACROS
  620. #ifndef WIDL_C_INLINE_WRAPPERS
  621. /*** IUnknown methods ***/
  622. #define IQueryContinueWithStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  623. #define IQueryContinueWithStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
  624. #define IQueryContinueWithStatus_Release(This) (This)->lpVtbl->Release(This)
  625. /*** IQueryContinue methods ***/
  626. #define IQueryContinueWithStatus_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
  627. /*** IQueryContinueWithStatus methods ***/
  628. #define IQueryContinueWithStatus_SetStatusMessage(This,psz) (This)->lpVtbl->SetStatusMessage(This,psz)
  629. #else
  630. /*** IUnknown methods ***/
  631. static FORCEINLINE HRESULT IQueryContinueWithStatus_QueryInterface(IQueryContinueWithStatus* This,REFIID riid,void **ppvObject) {
  632. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  633. }
  634. static FORCEINLINE ULONG IQueryContinueWithStatus_AddRef(IQueryContinueWithStatus* This) {
  635. return This->lpVtbl->AddRef(This);
  636. }
  637. static FORCEINLINE ULONG IQueryContinueWithStatus_Release(IQueryContinueWithStatus* This) {
  638. return This->lpVtbl->Release(This);
  639. }
  640. /*** IQueryContinue methods ***/
  641. static FORCEINLINE HRESULT IQueryContinueWithStatus_QueryContinue(IQueryContinueWithStatus* This) {
  642. return This->lpVtbl->QueryContinue(This);
  643. }
  644. /*** IQueryContinueWithStatus methods ***/
  645. static FORCEINLINE HRESULT IQueryContinueWithStatus_SetStatusMessage(IQueryContinueWithStatus* This,LPCWSTR psz) {
  646. return This->lpVtbl->SetStatusMessage(This,psz);
  647. }
  648. #endif
  649. #endif
  650. #endif
  651. #endif /* __IQueryContinueWithStatus_INTERFACE_DEFINED__ */
  652. /*****************************************************************************
  653. * IConnectableCredentialProviderCredential interface
  654. */
  655. #ifndef __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__
  656. #define __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__
  657. DEFINE_GUID(IID_IConnectableCredentialProviderCredential, 0x9387928b, 0xac75, 0x4bf9, 0x8a,0xb2, 0x2b,0x93,0xc4,0xa5,0x52,0x90);
  658. #if defined(__cplusplus) && !defined(CINTERFACE)
  659. MIDL_INTERFACE("9387928b-ac75-4bf9-8ab2-2b93c4a55290")
  660. IConnectableCredentialProviderCredential : public ICredentialProviderCredential
  661. {
  662. virtual HRESULT STDMETHODCALLTYPE Connect(
  663. IQueryContinueWithStatus *pqcws) = 0;
  664. virtual HRESULT STDMETHODCALLTYPE Disconnect(
  665. ) = 0;
  666. };
  667. #ifdef __CRT_UUID_DECL
  668. __CRT_UUID_DECL(IConnectableCredentialProviderCredential, 0x9387928b, 0xac75, 0x4bf9, 0x8a,0xb2, 0x2b,0x93,0xc4,0xa5,0x52,0x90)
  669. #endif
  670. #else
  671. typedef struct IConnectableCredentialProviderCredentialVtbl {
  672. BEGIN_INTERFACE
  673. /*** IUnknown methods ***/
  674. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  675. IConnectableCredentialProviderCredential *This,
  676. REFIID riid,
  677. void **ppvObject);
  678. ULONG (STDMETHODCALLTYPE *AddRef)(
  679. IConnectableCredentialProviderCredential *This);
  680. ULONG (STDMETHODCALLTYPE *Release)(
  681. IConnectableCredentialProviderCredential *This);
  682. /*** ICredentialProviderCredential methods ***/
  683. HRESULT (STDMETHODCALLTYPE *Advise)(
  684. IConnectableCredentialProviderCredential *This,
  685. ICredentialProviderCredentialEvents *pcpce);
  686. HRESULT (STDMETHODCALLTYPE *UnAdvise)(
  687. IConnectableCredentialProviderCredential *This);
  688. HRESULT (STDMETHODCALLTYPE *SetSelected)(
  689. IConnectableCredentialProviderCredential *This,
  690. WINBOOL *pbAutoLogon);
  691. HRESULT (STDMETHODCALLTYPE *SetDeselected)(
  692. IConnectableCredentialProviderCredential *This);
  693. HRESULT (STDMETHODCALLTYPE *GetFieldState)(
  694. IConnectableCredentialProviderCredential *This,
  695. DWORD dwFieldID,
  696. CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
  697. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
  698. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  699. IConnectableCredentialProviderCredential *This,
  700. DWORD dwFieldID,
  701. LPWSTR *ppsz);
  702. HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
  703. IConnectableCredentialProviderCredential *This,
  704. DWORD dwFieldID,
  705. HBITMAP *phbmp);
  706. HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
  707. IConnectableCredentialProviderCredential *This,
  708. DWORD dwFieldID,
  709. WINBOOL *pbChecked,
  710. LPWSTR *ppszLabel);
  711. HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
  712. IConnectableCredentialProviderCredential *This,
  713. DWORD dwFieldID,
  714. DWORD *pdwAdjacentTo);
  715. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
  716. IConnectableCredentialProviderCredential *This,
  717. DWORD dwFieldID,
  718. DWORD *pcItems,
  719. DWORD *pdwSelectedItem);
  720. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
  721. IConnectableCredentialProviderCredential *This,
  722. DWORD dwFieldID,
  723. DWORD dwItem,
  724. LPWSTR *ppszItem);
  725. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  726. IConnectableCredentialProviderCredential *This,
  727. DWORD dwFieldID,
  728. LPCWSTR psz);
  729. HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
  730. IConnectableCredentialProviderCredential *This,
  731. DWORD dwFieldID,
  732. WINBOOL bChecked);
  733. HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
  734. IConnectableCredentialProviderCredential *This,
  735. DWORD dwFieldID,
  736. DWORD dwSelectedItem);
  737. HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
  738. IConnectableCredentialProviderCredential *This,
  739. DWORD dwFieldID);
  740. HRESULT (STDMETHODCALLTYPE *GetSerialization)(
  741. IConnectableCredentialProviderCredential *This,
  742. CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  743. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
  744. LPWSTR *ppszOptionalStatusText,
  745. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  746. HRESULT (STDMETHODCALLTYPE *ReportResult)(
  747. IConnectableCredentialProviderCredential *This,
  748. NTSTATUS ntsStatus,
  749. NTSTATUS ntsSubstatus,
  750. LPWSTR *ppszOptionalStatusText,
  751. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  752. /*** IConnectableCredentialProviderCredential methods ***/
  753. HRESULT (STDMETHODCALLTYPE *Connect)(
  754. IConnectableCredentialProviderCredential *This,
  755. IQueryContinueWithStatus *pqcws);
  756. HRESULT (STDMETHODCALLTYPE *Disconnect)(
  757. IConnectableCredentialProviderCredential *This);
  758. END_INTERFACE
  759. } IConnectableCredentialProviderCredentialVtbl;
  760. interface IConnectableCredentialProviderCredential {
  761. CONST_VTBL IConnectableCredentialProviderCredentialVtbl* lpVtbl;
  762. };
  763. #ifdef COBJMACROS
  764. #ifndef WIDL_C_INLINE_WRAPPERS
  765. /*** IUnknown methods ***/
  766. #define IConnectableCredentialProviderCredential_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  767. #define IConnectableCredentialProviderCredential_AddRef(This) (This)->lpVtbl->AddRef(This)
  768. #define IConnectableCredentialProviderCredential_Release(This) (This)->lpVtbl->Release(This)
  769. /*** ICredentialProviderCredential methods ***/
  770. #define IConnectableCredentialProviderCredential_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
  771. #define IConnectableCredentialProviderCredential_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
  772. #define IConnectableCredentialProviderCredential_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
  773. #define IConnectableCredentialProviderCredential_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
  774. #define IConnectableCredentialProviderCredential_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
  775. #define IConnectableCredentialProviderCredential_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
  776. #define IConnectableCredentialProviderCredential_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
  777. #define IConnectableCredentialProviderCredential_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
  778. #define IConnectableCredentialProviderCredential_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
  779. #define IConnectableCredentialProviderCredential_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
  780. #define IConnectableCredentialProviderCredential_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
  781. #define IConnectableCredentialProviderCredential_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
  782. #define IConnectableCredentialProviderCredential_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
  783. #define IConnectableCredentialProviderCredential_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
  784. #define IConnectableCredentialProviderCredential_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
  785. #define IConnectableCredentialProviderCredential_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  786. #define IConnectableCredentialProviderCredential_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  787. /*** IConnectableCredentialProviderCredential methods ***/
  788. #define IConnectableCredentialProviderCredential_Connect(This,pqcws) (This)->lpVtbl->Connect(This,pqcws)
  789. #define IConnectableCredentialProviderCredential_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  790. #else
  791. /*** IUnknown methods ***/
  792. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_QueryInterface(IConnectableCredentialProviderCredential* This,REFIID riid,void **ppvObject) {
  793. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  794. }
  795. static FORCEINLINE ULONG IConnectableCredentialProviderCredential_AddRef(IConnectableCredentialProviderCredential* This) {
  796. return This->lpVtbl->AddRef(This);
  797. }
  798. static FORCEINLINE ULONG IConnectableCredentialProviderCredential_Release(IConnectableCredentialProviderCredential* This) {
  799. return This->lpVtbl->Release(This);
  800. }
  801. /*** ICredentialProviderCredential methods ***/
  802. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_Advise(IConnectableCredentialProviderCredential* This,ICredentialProviderCredentialEvents *pcpce) {
  803. return This->lpVtbl->Advise(This,pcpce);
  804. }
  805. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_UnAdvise(IConnectableCredentialProviderCredential* This) {
  806. return This->lpVtbl->UnAdvise(This);
  807. }
  808. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_SetSelected(IConnectableCredentialProviderCredential* This,WINBOOL *pbAutoLogon) {
  809. return This->lpVtbl->SetSelected(This,pbAutoLogon);
  810. }
  811. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_SetDeselected(IConnectableCredentialProviderCredential* This) {
  812. return This->lpVtbl->SetDeselected(This);
  813. }
  814. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetFieldState(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
  815. return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
  816. }
  817. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetStringValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,LPWSTR *ppsz) {
  818. return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
  819. }
  820. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetBitmapValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,HBITMAP *phbmp) {
  821. return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
  822. }
  823. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetCheckboxValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
  824. return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
  825. }
  826. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetSubmitButtonValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
  827. return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
  828. }
  829. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetComboBoxValueCount(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
  830. return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
  831. }
  832. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetComboBoxValueAt(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
  833. return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
  834. }
  835. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_SetStringValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,LPCWSTR psz) {
  836. return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
  837. }
  838. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_SetCheckboxValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,WINBOOL bChecked) {
  839. return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
  840. }
  841. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_SetComboBoxSelectedValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD dwSelectedItem) {
  842. return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
  843. }
  844. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_CommandLinkClicked(IConnectableCredentialProviderCredential* This,DWORD dwFieldID) {
  845. return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
  846. }
  847. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_GetSerialization(IConnectableCredentialProviderCredential* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  848. return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  849. }
  850. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_ReportResult(IConnectableCredentialProviderCredential* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  851. return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  852. }
  853. /*** IConnectableCredentialProviderCredential methods ***/
  854. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_Connect(IConnectableCredentialProviderCredential* This,IQueryContinueWithStatus *pqcws) {
  855. return This->lpVtbl->Connect(This,pqcws);
  856. }
  857. static FORCEINLINE HRESULT IConnectableCredentialProviderCredential_Disconnect(IConnectableCredentialProviderCredential* This) {
  858. return This->lpVtbl->Disconnect(This);
  859. }
  860. #endif
  861. #endif
  862. #endif
  863. #endif /* __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__ */
  864. /*****************************************************************************
  865. * ICredentialProviderCredentialEvents interface
  866. */
  867. #ifndef __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__
  868. #define __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__
  869. DEFINE_GUID(IID_ICredentialProviderCredentialEvents, 0xfa6fa76b, 0x66b7, 0x4b11, 0x95,0xf1, 0x86,0x17,0x11,0x18,0xe8,0x16);
  870. #if defined(__cplusplus) && !defined(CINTERFACE)
  871. MIDL_INTERFACE("fa6fa76b-66b7-4b11-95f1-86171118e816")
  872. ICredentialProviderCredentialEvents : public IUnknown
  873. {
  874. virtual HRESULT STDMETHODCALLTYPE SetFieldState(
  875. ICredentialProviderCredential *pcpc,
  876. DWORD dwFieldID,
  877. CREDENTIAL_PROVIDER_FIELD_STATE cpfs) = 0;
  878. virtual HRESULT STDMETHODCALLTYPE SetFieldInteractiveState(
  879. ICredentialProviderCredential *pcpc,
  880. DWORD dwFieldID,
  881. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) = 0;
  882. virtual HRESULT STDMETHODCALLTYPE SetFieldString(
  883. ICredentialProviderCredential *pcpc,
  884. DWORD dwFieldID,
  885. LPCWSTR psz) = 0;
  886. virtual HRESULT STDMETHODCALLTYPE SetFieldCheckbox(
  887. ICredentialProviderCredential *pcpc,
  888. DWORD dwFieldID,
  889. WINBOOL bChecked,
  890. LPCWSTR pszLabel) = 0;
  891. virtual HRESULT STDMETHODCALLTYPE SetFieldBitmap(
  892. ICredentialProviderCredential *pcpc,
  893. DWORD dwFieldID,
  894. HBITMAP hbmp) = 0;
  895. virtual HRESULT STDMETHODCALLTYPE SetFieldComboBoxSelectedItem(
  896. ICredentialProviderCredential *pcpc,
  897. DWORD dwFieldID,
  898. DWORD dwSelectedItem) = 0;
  899. virtual HRESULT STDMETHODCALLTYPE DeleteFieldComboBoxItem(
  900. ICredentialProviderCredential *pcpc,
  901. DWORD dwFieldID,
  902. DWORD dwItem) = 0;
  903. virtual HRESULT STDMETHODCALLTYPE AppendFieldComboBoxItem(
  904. ICredentialProviderCredential *pcpc,
  905. DWORD dwFieldID,
  906. LPCWSTR pszItem) = 0;
  907. virtual HRESULT STDMETHODCALLTYPE SetFieldSubmitButton(
  908. ICredentialProviderCredential *pcpc,
  909. DWORD dwFieldID,
  910. DWORD dwAdjacentTo) = 0;
  911. virtual HRESULT STDMETHODCALLTYPE OnCreatingWindow(
  912. HWND *phwndOwner) = 0;
  913. };
  914. #ifdef __CRT_UUID_DECL
  915. __CRT_UUID_DECL(ICredentialProviderCredentialEvents, 0xfa6fa76b, 0x66b7, 0x4b11, 0x95,0xf1, 0x86,0x17,0x11,0x18,0xe8,0x16)
  916. #endif
  917. #else
  918. typedef struct ICredentialProviderCredentialEventsVtbl {
  919. BEGIN_INTERFACE
  920. /*** IUnknown methods ***/
  921. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  922. ICredentialProviderCredentialEvents *This,
  923. REFIID riid,
  924. void **ppvObject);
  925. ULONG (STDMETHODCALLTYPE *AddRef)(
  926. ICredentialProviderCredentialEvents *This);
  927. ULONG (STDMETHODCALLTYPE *Release)(
  928. ICredentialProviderCredentialEvents *This);
  929. /*** ICredentialProviderCredentialEvents methods ***/
  930. HRESULT (STDMETHODCALLTYPE *SetFieldState)(
  931. ICredentialProviderCredentialEvents *This,
  932. ICredentialProviderCredential *pcpc,
  933. DWORD dwFieldID,
  934. CREDENTIAL_PROVIDER_FIELD_STATE cpfs);
  935. HRESULT (STDMETHODCALLTYPE *SetFieldInteractiveState)(
  936. ICredentialProviderCredentialEvents *This,
  937. ICredentialProviderCredential *pcpc,
  938. DWORD dwFieldID,
  939. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis);
  940. HRESULT (STDMETHODCALLTYPE *SetFieldString)(
  941. ICredentialProviderCredentialEvents *This,
  942. ICredentialProviderCredential *pcpc,
  943. DWORD dwFieldID,
  944. LPCWSTR psz);
  945. HRESULT (STDMETHODCALLTYPE *SetFieldCheckbox)(
  946. ICredentialProviderCredentialEvents *This,
  947. ICredentialProviderCredential *pcpc,
  948. DWORD dwFieldID,
  949. WINBOOL bChecked,
  950. LPCWSTR pszLabel);
  951. HRESULT (STDMETHODCALLTYPE *SetFieldBitmap)(
  952. ICredentialProviderCredentialEvents *This,
  953. ICredentialProviderCredential *pcpc,
  954. DWORD dwFieldID,
  955. HBITMAP hbmp);
  956. HRESULT (STDMETHODCALLTYPE *SetFieldComboBoxSelectedItem)(
  957. ICredentialProviderCredentialEvents *This,
  958. ICredentialProviderCredential *pcpc,
  959. DWORD dwFieldID,
  960. DWORD dwSelectedItem);
  961. HRESULT (STDMETHODCALLTYPE *DeleteFieldComboBoxItem)(
  962. ICredentialProviderCredentialEvents *This,
  963. ICredentialProviderCredential *pcpc,
  964. DWORD dwFieldID,
  965. DWORD dwItem);
  966. HRESULT (STDMETHODCALLTYPE *AppendFieldComboBoxItem)(
  967. ICredentialProviderCredentialEvents *This,
  968. ICredentialProviderCredential *pcpc,
  969. DWORD dwFieldID,
  970. LPCWSTR pszItem);
  971. HRESULT (STDMETHODCALLTYPE *SetFieldSubmitButton)(
  972. ICredentialProviderCredentialEvents *This,
  973. ICredentialProviderCredential *pcpc,
  974. DWORD dwFieldID,
  975. DWORD dwAdjacentTo);
  976. HRESULT (STDMETHODCALLTYPE *OnCreatingWindow)(
  977. ICredentialProviderCredentialEvents *This,
  978. HWND *phwndOwner);
  979. END_INTERFACE
  980. } ICredentialProviderCredentialEventsVtbl;
  981. interface ICredentialProviderCredentialEvents {
  982. CONST_VTBL ICredentialProviderCredentialEventsVtbl* lpVtbl;
  983. };
  984. #ifdef COBJMACROS
  985. #ifndef WIDL_C_INLINE_WRAPPERS
  986. /*** IUnknown methods ***/
  987. #define ICredentialProviderCredentialEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  988. #define ICredentialProviderCredentialEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  989. #define ICredentialProviderCredentialEvents_Release(This) (This)->lpVtbl->Release(This)
  990. /*** ICredentialProviderCredentialEvents methods ***/
  991. #define ICredentialProviderCredentialEvents_SetFieldState(This,pcpc,dwFieldID,cpfs) (This)->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs)
  992. #define ICredentialProviderCredentialEvents_SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis) (This)->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis)
  993. #define ICredentialProviderCredentialEvents_SetFieldString(This,pcpc,dwFieldID,psz) (This)->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz)
  994. #define ICredentialProviderCredentialEvents_SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel) (This)->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel)
  995. #define ICredentialProviderCredentialEvents_SetFieldBitmap(This,pcpc,dwFieldID,hbmp) (This)->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp)
  996. #define ICredentialProviderCredentialEvents_SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem)
  997. #define ICredentialProviderCredentialEvents_DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem) (This)->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem)
  998. #define ICredentialProviderCredentialEvents_AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem) (This)->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem)
  999. #define ICredentialProviderCredentialEvents_SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo) (This)->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo)
  1000. #define ICredentialProviderCredentialEvents_OnCreatingWindow(This,phwndOwner) (This)->lpVtbl->OnCreatingWindow(This,phwndOwner)
  1001. #else
  1002. /*** IUnknown methods ***/
  1003. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_QueryInterface(ICredentialProviderCredentialEvents* This,REFIID riid,void **ppvObject) {
  1004. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1005. }
  1006. static FORCEINLINE ULONG ICredentialProviderCredentialEvents_AddRef(ICredentialProviderCredentialEvents* This) {
  1007. return This->lpVtbl->AddRef(This);
  1008. }
  1009. static FORCEINLINE ULONG ICredentialProviderCredentialEvents_Release(ICredentialProviderCredentialEvents* This) {
  1010. return This->lpVtbl->Release(This);
  1011. }
  1012. /*** ICredentialProviderCredentialEvents methods ***/
  1013. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldState(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE cpfs) {
  1014. return This->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs);
  1015. }
  1016. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldInteractiveState(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) {
  1017. return This->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis);
  1018. }
  1019. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldString(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR psz) {
  1020. return This->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz);
  1021. }
  1022. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldCheckbox(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,WINBOOL bChecked,LPCWSTR pszLabel) {
  1023. return This->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel);
  1024. }
  1025. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldBitmap(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,HBITMAP hbmp) {
  1026. return This->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp);
  1027. }
  1028. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldComboBoxSelectedItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwSelectedItem) {
  1029. return This->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem);
  1030. }
  1031. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_DeleteFieldComboBoxItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwItem) {
  1032. return This->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem);
  1033. }
  1034. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_AppendFieldComboBoxItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR pszItem) {
  1035. return This->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem);
  1036. }
  1037. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_SetFieldSubmitButton(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwAdjacentTo) {
  1038. return This->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo);
  1039. }
  1040. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents_OnCreatingWindow(ICredentialProviderCredentialEvents* This,HWND *phwndOwner) {
  1041. return This->lpVtbl->OnCreatingWindow(This,phwndOwner);
  1042. }
  1043. #endif
  1044. #endif
  1045. #endif
  1046. #endif /* __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__ */
  1047. #ifndef __ICredentialProviderEvents_FWD_DEFINED__
  1048. #define __ICredentialProviderEvents_FWD_DEFINED__
  1049. typedef interface ICredentialProviderEvents ICredentialProviderEvents;
  1050. #ifdef __cplusplus
  1051. interface ICredentialProviderEvents;
  1052. #endif /* __cplusplus */
  1053. #endif
  1054. /*****************************************************************************
  1055. * ICredentialProvider interface
  1056. */
  1057. #ifndef __ICredentialProvider_INTERFACE_DEFINED__
  1058. #define __ICredentialProvider_INTERFACE_DEFINED__
  1059. DEFINE_GUID(IID_ICredentialProvider, 0xd27c3481, 0x5a1c, 0x45b2, 0x8a,0xaa, 0xc2,0x0e,0xbb,0xe8,0x22,0x9e);
  1060. #if defined(__cplusplus) && !defined(CINTERFACE)
  1061. MIDL_INTERFACE("d27c3481-5a1c-45b2-8aaa-c20ebbe8229e")
  1062. ICredentialProvider : public IUnknown
  1063. {
  1064. virtual HRESULT STDMETHODCALLTYPE SetUsageScenario(
  1065. CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  1066. DWORD dwFlags) = 0;
  1067. virtual HRESULT STDMETHODCALLTYPE SetSerialization(
  1068. const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs) = 0;
  1069. virtual HRESULT STDMETHODCALLTYPE Advise(
  1070. ICredentialProviderEvents *pcpe,
  1071. UINT_PTR upAdviseContext) = 0;
  1072. virtual HRESULT STDMETHODCALLTYPE UnAdvise(
  1073. ) = 0;
  1074. virtual HRESULT STDMETHODCALLTYPE GetFieldDescriptorCount(
  1075. DWORD *pdwCount) = 0;
  1076. virtual HRESULT STDMETHODCALLTYPE GetFieldDescriptorAt(
  1077. DWORD dwIndex,
  1078. CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd) = 0;
  1079. virtual HRESULT STDMETHODCALLTYPE GetCredentialCount(
  1080. DWORD *pdwCount,
  1081. DWORD *pdwDefault,
  1082. WINBOOL *pbAutoLogonWithDefault) = 0;
  1083. virtual HRESULT STDMETHODCALLTYPE GetCredentialAt(
  1084. DWORD dwIndex,
  1085. ICredentialProviderCredential **ppcpc) = 0;
  1086. };
  1087. #ifdef __CRT_UUID_DECL
  1088. __CRT_UUID_DECL(ICredentialProvider, 0xd27c3481, 0x5a1c, 0x45b2, 0x8a,0xaa, 0xc2,0x0e,0xbb,0xe8,0x22,0x9e)
  1089. #endif
  1090. #else
  1091. typedef struct ICredentialProviderVtbl {
  1092. BEGIN_INTERFACE
  1093. /*** IUnknown methods ***/
  1094. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1095. ICredentialProvider *This,
  1096. REFIID riid,
  1097. void **ppvObject);
  1098. ULONG (STDMETHODCALLTYPE *AddRef)(
  1099. ICredentialProvider *This);
  1100. ULONG (STDMETHODCALLTYPE *Release)(
  1101. ICredentialProvider *This);
  1102. /*** ICredentialProvider methods ***/
  1103. HRESULT (STDMETHODCALLTYPE *SetUsageScenario)(
  1104. ICredentialProvider *This,
  1105. CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  1106. DWORD dwFlags);
  1107. HRESULT (STDMETHODCALLTYPE *SetSerialization)(
  1108. ICredentialProvider *This,
  1109. const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs);
  1110. HRESULT (STDMETHODCALLTYPE *Advise)(
  1111. ICredentialProvider *This,
  1112. ICredentialProviderEvents *pcpe,
  1113. UINT_PTR upAdviseContext);
  1114. HRESULT (STDMETHODCALLTYPE *UnAdvise)(
  1115. ICredentialProvider *This);
  1116. HRESULT (STDMETHODCALLTYPE *GetFieldDescriptorCount)(
  1117. ICredentialProvider *This,
  1118. DWORD *pdwCount);
  1119. HRESULT (STDMETHODCALLTYPE *GetFieldDescriptorAt)(
  1120. ICredentialProvider *This,
  1121. DWORD dwIndex,
  1122. CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd);
  1123. HRESULT (STDMETHODCALLTYPE *GetCredentialCount)(
  1124. ICredentialProvider *This,
  1125. DWORD *pdwCount,
  1126. DWORD *pdwDefault,
  1127. WINBOOL *pbAutoLogonWithDefault);
  1128. HRESULT (STDMETHODCALLTYPE *GetCredentialAt)(
  1129. ICredentialProvider *This,
  1130. DWORD dwIndex,
  1131. ICredentialProviderCredential **ppcpc);
  1132. END_INTERFACE
  1133. } ICredentialProviderVtbl;
  1134. interface ICredentialProvider {
  1135. CONST_VTBL ICredentialProviderVtbl* lpVtbl;
  1136. };
  1137. #ifdef COBJMACROS
  1138. #ifndef WIDL_C_INLINE_WRAPPERS
  1139. /*** IUnknown methods ***/
  1140. #define ICredentialProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1141. #define ICredentialProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
  1142. #define ICredentialProvider_Release(This) (This)->lpVtbl->Release(This)
  1143. /*** ICredentialProvider methods ***/
  1144. #define ICredentialProvider_SetUsageScenario(This,cpus,dwFlags) (This)->lpVtbl->SetUsageScenario(This,cpus,dwFlags)
  1145. #define ICredentialProvider_SetSerialization(This,pcpcs) (This)->lpVtbl->SetSerialization(This,pcpcs)
  1146. #define ICredentialProvider_Advise(This,pcpe,upAdviseContext) (This)->lpVtbl->Advise(This,pcpe,upAdviseContext)
  1147. #define ICredentialProvider_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
  1148. #define ICredentialProvider_GetFieldDescriptorCount(This,pdwCount) (This)->lpVtbl->GetFieldDescriptorCount(This,pdwCount)
  1149. #define ICredentialProvider_GetFieldDescriptorAt(This,dwIndex,ppcpfd) (This)->lpVtbl->GetFieldDescriptorAt(This,dwIndex,ppcpfd)
  1150. #define ICredentialProvider_GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault) (This)->lpVtbl->GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault)
  1151. #define ICredentialProvider_GetCredentialAt(This,dwIndex,ppcpc) (This)->lpVtbl->GetCredentialAt(This,dwIndex,ppcpc)
  1152. #else
  1153. /*** IUnknown methods ***/
  1154. static FORCEINLINE HRESULT ICredentialProvider_QueryInterface(ICredentialProvider* This,REFIID riid,void **ppvObject) {
  1155. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1156. }
  1157. static FORCEINLINE ULONG ICredentialProvider_AddRef(ICredentialProvider* This) {
  1158. return This->lpVtbl->AddRef(This);
  1159. }
  1160. static FORCEINLINE ULONG ICredentialProvider_Release(ICredentialProvider* This) {
  1161. return This->lpVtbl->Release(This);
  1162. }
  1163. /*** ICredentialProvider methods ***/
  1164. static FORCEINLINE HRESULT ICredentialProvider_SetUsageScenario(ICredentialProvider* This,CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,DWORD dwFlags) {
  1165. return This->lpVtbl->SetUsageScenario(This,cpus,dwFlags);
  1166. }
  1167. static FORCEINLINE HRESULT ICredentialProvider_SetSerialization(ICredentialProvider* This,const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs) {
  1168. return This->lpVtbl->SetSerialization(This,pcpcs);
  1169. }
  1170. static FORCEINLINE HRESULT ICredentialProvider_Advise(ICredentialProvider* This,ICredentialProviderEvents *pcpe,UINT_PTR upAdviseContext) {
  1171. return This->lpVtbl->Advise(This,pcpe,upAdviseContext);
  1172. }
  1173. static FORCEINLINE HRESULT ICredentialProvider_UnAdvise(ICredentialProvider* This) {
  1174. return This->lpVtbl->UnAdvise(This);
  1175. }
  1176. static FORCEINLINE HRESULT ICredentialProvider_GetFieldDescriptorCount(ICredentialProvider* This,DWORD *pdwCount) {
  1177. return This->lpVtbl->GetFieldDescriptorCount(This,pdwCount);
  1178. }
  1179. static FORCEINLINE HRESULT ICredentialProvider_GetFieldDescriptorAt(ICredentialProvider* This,DWORD dwIndex,CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd) {
  1180. return This->lpVtbl->GetFieldDescriptorAt(This,dwIndex,ppcpfd);
  1181. }
  1182. static FORCEINLINE HRESULT ICredentialProvider_GetCredentialCount(ICredentialProvider* This,DWORD *pdwCount,DWORD *pdwDefault,WINBOOL *pbAutoLogonWithDefault) {
  1183. return This->lpVtbl->GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault);
  1184. }
  1185. static FORCEINLINE HRESULT ICredentialProvider_GetCredentialAt(ICredentialProvider* This,DWORD dwIndex,ICredentialProviderCredential **ppcpc) {
  1186. return This->lpVtbl->GetCredentialAt(This,dwIndex,ppcpc);
  1187. }
  1188. #endif
  1189. #endif
  1190. #endif
  1191. #endif /* __ICredentialProvider_INTERFACE_DEFINED__ */
  1192. /*****************************************************************************
  1193. * ICredentialProviderEvents interface
  1194. */
  1195. #ifndef __ICredentialProviderEvents_INTERFACE_DEFINED__
  1196. #define __ICredentialProviderEvents_INTERFACE_DEFINED__
  1197. DEFINE_GUID(IID_ICredentialProviderEvents, 0x34201e5a, 0xa787, 0x41a3, 0xa5,0xa4, 0xbd,0x6d,0xcf,0x2a,0x85,0x4e);
  1198. #if defined(__cplusplus) && !defined(CINTERFACE)
  1199. MIDL_INTERFACE("34201e5a-a787-41a3-a5a4-bd6dcf2a854e")
  1200. ICredentialProviderEvents : public IUnknown
  1201. {
  1202. virtual HRESULT STDMETHODCALLTYPE CredentialsChanged(
  1203. UINT_PTR upAdviseContext) = 0;
  1204. };
  1205. #ifdef __CRT_UUID_DECL
  1206. __CRT_UUID_DECL(ICredentialProviderEvents, 0x34201e5a, 0xa787, 0x41a3, 0xa5,0xa4, 0xbd,0x6d,0xcf,0x2a,0x85,0x4e)
  1207. #endif
  1208. #else
  1209. typedef struct ICredentialProviderEventsVtbl {
  1210. BEGIN_INTERFACE
  1211. /*** IUnknown methods ***/
  1212. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1213. ICredentialProviderEvents *This,
  1214. REFIID riid,
  1215. void **ppvObject);
  1216. ULONG (STDMETHODCALLTYPE *AddRef)(
  1217. ICredentialProviderEvents *This);
  1218. ULONG (STDMETHODCALLTYPE *Release)(
  1219. ICredentialProviderEvents *This);
  1220. /*** ICredentialProviderEvents methods ***/
  1221. HRESULT (STDMETHODCALLTYPE *CredentialsChanged)(
  1222. ICredentialProviderEvents *This,
  1223. UINT_PTR upAdviseContext);
  1224. END_INTERFACE
  1225. } ICredentialProviderEventsVtbl;
  1226. interface ICredentialProviderEvents {
  1227. CONST_VTBL ICredentialProviderEventsVtbl* lpVtbl;
  1228. };
  1229. #ifdef COBJMACROS
  1230. #ifndef WIDL_C_INLINE_WRAPPERS
  1231. /*** IUnknown methods ***/
  1232. #define ICredentialProviderEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1233. #define ICredentialProviderEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  1234. #define ICredentialProviderEvents_Release(This) (This)->lpVtbl->Release(This)
  1235. /*** ICredentialProviderEvents methods ***/
  1236. #define ICredentialProviderEvents_CredentialsChanged(This,upAdviseContext) (This)->lpVtbl->CredentialsChanged(This,upAdviseContext)
  1237. #else
  1238. /*** IUnknown methods ***/
  1239. static FORCEINLINE HRESULT ICredentialProviderEvents_QueryInterface(ICredentialProviderEvents* This,REFIID riid,void **ppvObject) {
  1240. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1241. }
  1242. static FORCEINLINE ULONG ICredentialProviderEvents_AddRef(ICredentialProviderEvents* This) {
  1243. return This->lpVtbl->AddRef(This);
  1244. }
  1245. static FORCEINLINE ULONG ICredentialProviderEvents_Release(ICredentialProviderEvents* This) {
  1246. return This->lpVtbl->Release(This);
  1247. }
  1248. /*** ICredentialProviderEvents methods ***/
  1249. static FORCEINLINE HRESULT ICredentialProviderEvents_CredentialsChanged(ICredentialProviderEvents* This,UINT_PTR upAdviseContext) {
  1250. return This->lpVtbl->CredentialsChanged(This,upAdviseContext);
  1251. }
  1252. #endif
  1253. #endif
  1254. #endif
  1255. #endif /* __ICredentialProviderEvents_INTERFACE_DEFINED__ */
  1256. /*****************************************************************************
  1257. * ICredentialProviderFilter interface
  1258. */
  1259. #ifndef __ICredentialProviderFilter_INTERFACE_DEFINED__
  1260. #define __ICredentialProviderFilter_INTERFACE_DEFINED__
  1261. DEFINE_GUID(IID_ICredentialProviderFilter, 0xa5da53f9, 0xd475, 0x4080, 0xa1,0x20, 0x91,0x0c,0x4a,0x73,0x98,0x80);
  1262. #if defined(__cplusplus) && !defined(CINTERFACE)
  1263. MIDL_INTERFACE("a5da53f9-d475-4080-a120-910c4a739880")
  1264. ICredentialProviderFilter : public IUnknown
  1265. {
  1266. virtual HRESULT STDMETHODCALLTYPE Filter(
  1267. CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  1268. DWORD dwFlags,
  1269. GUID *rgclsidProviders,
  1270. WINBOOL *rgbAllow,
  1271. DWORD cProviders) = 0;
  1272. virtual HRESULT STDMETHODCALLTYPE UpdateRemoteCredential(
  1273. const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,
  1274. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut) = 0;
  1275. };
  1276. #ifdef __CRT_UUID_DECL
  1277. __CRT_UUID_DECL(ICredentialProviderFilter, 0xa5da53f9, 0xd475, 0x4080, 0xa1,0x20, 0x91,0x0c,0x4a,0x73,0x98,0x80)
  1278. #endif
  1279. #else
  1280. typedef struct ICredentialProviderFilterVtbl {
  1281. BEGIN_INTERFACE
  1282. /*** IUnknown methods ***/
  1283. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1284. ICredentialProviderFilter *This,
  1285. REFIID riid,
  1286. void **ppvObject);
  1287. ULONG (STDMETHODCALLTYPE *AddRef)(
  1288. ICredentialProviderFilter *This);
  1289. ULONG (STDMETHODCALLTYPE *Release)(
  1290. ICredentialProviderFilter *This);
  1291. /*** ICredentialProviderFilter methods ***/
  1292. HRESULT (STDMETHODCALLTYPE *Filter)(
  1293. ICredentialProviderFilter *This,
  1294. CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  1295. DWORD dwFlags,
  1296. GUID *rgclsidProviders,
  1297. WINBOOL *rgbAllow,
  1298. DWORD cProviders);
  1299. HRESULT (STDMETHODCALLTYPE *UpdateRemoteCredential)(
  1300. ICredentialProviderFilter *This,
  1301. const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,
  1302. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut);
  1303. END_INTERFACE
  1304. } ICredentialProviderFilterVtbl;
  1305. interface ICredentialProviderFilter {
  1306. CONST_VTBL ICredentialProviderFilterVtbl* lpVtbl;
  1307. };
  1308. #ifdef COBJMACROS
  1309. #ifndef WIDL_C_INLINE_WRAPPERS
  1310. /*** IUnknown methods ***/
  1311. #define ICredentialProviderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1312. #define ICredentialProviderFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
  1313. #define ICredentialProviderFilter_Release(This) (This)->lpVtbl->Release(This)
  1314. /*** ICredentialProviderFilter methods ***/
  1315. #define ICredentialProviderFilter_Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders) (This)->lpVtbl->Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders)
  1316. #define ICredentialProviderFilter_UpdateRemoteCredential(This,pcpcsIn,pcpcsOut) (This)->lpVtbl->UpdateRemoteCredential(This,pcpcsIn,pcpcsOut)
  1317. #else
  1318. /*** IUnknown methods ***/
  1319. static FORCEINLINE HRESULT ICredentialProviderFilter_QueryInterface(ICredentialProviderFilter* This,REFIID riid,void **ppvObject) {
  1320. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1321. }
  1322. static FORCEINLINE ULONG ICredentialProviderFilter_AddRef(ICredentialProviderFilter* This) {
  1323. return This->lpVtbl->AddRef(This);
  1324. }
  1325. static FORCEINLINE ULONG ICredentialProviderFilter_Release(ICredentialProviderFilter* This) {
  1326. return This->lpVtbl->Release(This);
  1327. }
  1328. /*** ICredentialProviderFilter methods ***/
  1329. static FORCEINLINE HRESULT ICredentialProviderFilter_Filter(ICredentialProviderFilter* This,CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,DWORD dwFlags,GUID *rgclsidProviders,WINBOOL *rgbAllow,DWORD cProviders) {
  1330. return This->lpVtbl->Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders);
  1331. }
  1332. static FORCEINLINE HRESULT ICredentialProviderFilter_UpdateRemoteCredential(ICredentialProviderFilter* This,const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut) {
  1333. return This->lpVtbl->UpdateRemoteCredential(This,pcpcsIn,pcpcsOut);
  1334. }
  1335. #endif
  1336. #endif
  1337. #endif
  1338. #endif /* __ICredentialProviderFilter_INTERFACE_DEFINED__ */
  1339. #if (NTDDI_VERSION >= NTDDI_WIN8)
  1340. /*****************************************************************************
  1341. * ICredentialProviderCredential2 interface
  1342. */
  1343. #ifndef __ICredentialProviderCredential2_INTERFACE_DEFINED__
  1344. #define __ICredentialProviderCredential2_INTERFACE_DEFINED__
  1345. DEFINE_GUID(IID_ICredentialProviderCredential2, 0xfd672c54, 0x40ea, 0x4d6e, 0x9b,0x49, 0xcf,0xb1,0xa7,0x50,0x7b,0xd7);
  1346. #if defined(__cplusplus) && !defined(CINTERFACE)
  1347. MIDL_INTERFACE("fd672c54-40ea-4d6e-9b49-cfb1a7507bd7")
  1348. ICredentialProviderCredential2 : public ICredentialProviderCredential
  1349. {
  1350. virtual HRESULT STDMETHODCALLTYPE GetUserSid(
  1351. LPWSTR *sid) = 0;
  1352. };
  1353. #ifdef __CRT_UUID_DECL
  1354. __CRT_UUID_DECL(ICredentialProviderCredential2, 0xfd672c54, 0x40ea, 0x4d6e, 0x9b,0x49, 0xcf,0xb1,0xa7,0x50,0x7b,0xd7)
  1355. #endif
  1356. #else
  1357. typedef struct ICredentialProviderCredential2Vtbl {
  1358. BEGIN_INTERFACE
  1359. /*** IUnknown methods ***/
  1360. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1361. ICredentialProviderCredential2 *This,
  1362. REFIID riid,
  1363. void **ppvObject);
  1364. ULONG (STDMETHODCALLTYPE *AddRef)(
  1365. ICredentialProviderCredential2 *This);
  1366. ULONG (STDMETHODCALLTYPE *Release)(
  1367. ICredentialProviderCredential2 *This);
  1368. /*** ICredentialProviderCredential methods ***/
  1369. HRESULT (STDMETHODCALLTYPE *Advise)(
  1370. ICredentialProviderCredential2 *This,
  1371. ICredentialProviderCredentialEvents *pcpce);
  1372. HRESULT (STDMETHODCALLTYPE *UnAdvise)(
  1373. ICredentialProviderCredential2 *This);
  1374. HRESULT (STDMETHODCALLTYPE *SetSelected)(
  1375. ICredentialProviderCredential2 *This,
  1376. WINBOOL *pbAutoLogon);
  1377. HRESULT (STDMETHODCALLTYPE *SetDeselected)(
  1378. ICredentialProviderCredential2 *This);
  1379. HRESULT (STDMETHODCALLTYPE *GetFieldState)(
  1380. ICredentialProviderCredential2 *This,
  1381. DWORD dwFieldID,
  1382. CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
  1383. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
  1384. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  1385. ICredentialProviderCredential2 *This,
  1386. DWORD dwFieldID,
  1387. LPWSTR *ppsz);
  1388. HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
  1389. ICredentialProviderCredential2 *This,
  1390. DWORD dwFieldID,
  1391. HBITMAP *phbmp);
  1392. HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
  1393. ICredentialProviderCredential2 *This,
  1394. DWORD dwFieldID,
  1395. WINBOOL *pbChecked,
  1396. LPWSTR *ppszLabel);
  1397. HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
  1398. ICredentialProviderCredential2 *This,
  1399. DWORD dwFieldID,
  1400. DWORD *pdwAdjacentTo);
  1401. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
  1402. ICredentialProviderCredential2 *This,
  1403. DWORD dwFieldID,
  1404. DWORD *pcItems,
  1405. DWORD *pdwSelectedItem);
  1406. HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
  1407. ICredentialProviderCredential2 *This,
  1408. DWORD dwFieldID,
  1409. DWORD dwItem,
  1410. LPWSTR *ppszItem);
  1411. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  1412. ICredentialProviderCredential2 *This,
  1413. DWORD dwFieldID,
  1414. LPCWSTR psz);
  1415. HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
  1416. ICredentialProviderCredential2 *This,
  1417. DWORD dwFieldID,
  1418. WINBOOL bChecked);
  1419. HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
  1420. ICredentialProviderCredential2 *This,
  1421. DWORD dwFieldID,
  1422. DWORD dwSelectedItem);
  1423. HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
  1424. ICredentialProviderCredential2 *This,
  1425. DWORD dwFieldID);
  1426. HRESULT (STDMETHODCALLTYPE *GetSerialization)(
  1427. ICredentialProviderCredential2 *This,
  1428. CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  1429. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
  1430. LPWSTR *ppszOptionalStatusText,
  1431. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  1432. HRESULT (STDMETHODCALLTYPE *ReportResult)(
  1433. ICredentialProviderCredential2 *This,
  1434. NTSTATUS ntsStatus,
  1435. NTSTATUS ntsSubstatus,
  1436. LPWSTR *ppszOptionalStatusText,
  1437. CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
  1438. /*** ICredentialProviderCredential2 methods ***/
  1439. HRESULT (STDMETHODCALLTYPE *GetUserSid)(
  1440. ICredentialProviderCredential2 *This,
  1441. LPWSTR *sid);
  1442. END_INTERFACE
  1443. } ICredentialProviderCredential2Vtbl;
  1444. interface ICredentialProviderCredential2 {
  1445. CONST_VTBL ICredentialProviderCredential2Vtbl* lpVtbl;
  1446. };
  1447. #ifdef COBJMACROS
  1448. #ifndef WIDL_C_INLINE_WRAPPERS
  1449. /*** IUnknown methods ***/
  1450. #define ICredentialProviderCredential2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1451. #define ICredentialProviderCredential2_AddRef(This) (This)->lpVtbl->AddRef(This)
  1452. #define ICredentialProviderCredential2_Release(This) (This)->lpVtbl->Release(This)
  1453. /*** ICredentialProviderCredential methods ***/
  1454. #define ICredentialProviderCredential2_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
  1455. #define ICredentialProviderCredential2_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
  1456. #define ICredentialProviderCredential2_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
  1457. #define ICredentialProviderCredential2_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
  1458. #define ICredentialProviderCredential2_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
  1459. #define ICredentialProviderCredential2_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
  1460. #define ICredentialProviderCredential2_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
  1461. #define ICredentialProviderCredential2_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
  1462. #define ICredentialProviderCredential2_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
  1463. #define ICredentialProviderCredential2_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
  1464. #define ICredentialProviderCredential2_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
  1465. #define ICredentialProviderCredential2_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
  1466. #define ICredentialProviderCredential2_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
  1467. #define ICredentialProviderCredential2_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
  1468. #define ICredentialProviderCredential2_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
  1469. #define ICredentialProviderCredential2_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  1470. #define ICredentialProviderCredential2_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
  1471. /*** ICredentialProviderCredential2 methods ***/
  1472. #define ICredentialProviderCredential2_GetUserSid(This,sid) (This)->lpVtbl->GetUserSid(This,sid)
  1473. #else
  1474. /*** IUnknown methods ***/
  1475. static FORCEINLINE HRESULT ICredentialProviderCredential2_QueryInterface(ICredentialProviderCredential2* This,REFIID riid,void **ppvObject) {
  1476. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1477. }
  1478. static FORCEINLINE ULONG ICredentialProviderCredential2_AddRef(ICredentialProviderCredential2* This) {
  1479. return This->lpVtbl->AddRef(This);
  1480. }
  1481. static FORCEINLINE ULONG ICredentialProviderCredential2_Release(ICredentialProviderCredential2* This) {
  1482. return This->lpVtbl->Release(This);
  1483. }
  1484. /*** ICredentialProviderCredential methods ***/
  1485. static FORCEINLINE HRESULT ICredentialProviderCredential2_Advise(ICredentialProviderCredential2* This,ICredentialProviderCredentialEvents *pcpce) {
  1486. return This->lpVtbl->Advise(This,pcpce);
  1487. }
  1488. static FORCEINLINE HRESULT ICredentialProviderCredential2_UnAdvise(ICredentialProviderCredential2* This) {
  1489. return This->lpVtbl->UnAdvise(This);
  1490. }
  1491. static FORCEINLINE HRESULT ICredentialProviderCredential2_SetSelected(ICredentialProviderCredential2* This,WINBOOL *pbAutoLogon) {
  1492. return This->lpVtbl->SetSelected(This,pbAutoLogon);
  1493. }
  1494. static FORCEINLINE HRESULT ICredentialProviderCredential2_SetDeselected(ICredentialProviderCredential2* This) {
  1495. return This->lpVtbl->SetDeselected(This);
  1496. }
  1497. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetFieldState(ICredentialProviderCredential2* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
  1498. return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
  1499. }
  1500. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetStringValue(ICredentialProviderCredential2* This,DWORD dwFieldID,LPWSTR *ppsz) {
  1501. return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
  1502. }
  1503. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetBitmapValue(ICredentialProviderCredential2* This,DWORD dwFieldID,HBITMAP *phbmp) {
  1504. return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
  1505. }
  1506. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetCheckboxValue(ICredentialProviderCredential2* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
  1507. return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
  1508. }
  1509. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetSubmitButtonValue(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
  1510. return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
  1511. }
  1512. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetComboBoxValueCount(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
  1513. return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
  1514. }
  1515. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetComboBoxValueAt(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
  1516. return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
  1517. }
  1518. static FORCEINLINE HRESULT ICredentialProviderCredential2_SetStringValue(ICredentialProviderCredential2* This,DWORD dwFieldID,LPCWSTR psz) {
  1519. return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
  1520. }
  1521. static FORCEINLINE HRESULT ICredentialProviderCredential2_SetCheckboxValue(ICredentialProviderCredential2* This,DWORD dwFieldID,WINBOOL bChecked) {
  1522. return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
  1523. }
  1524. static FORCEINLINE HRESULT ICredentialProviderCredential2_SetComboBoxSelectedValue(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD dwSelectedItem) {
  1525. return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
  1526. }
  1527. static FORCEINLINE HRESULT ICredentialProviderCredential2_CommandLinkClicked(ICredentialProviderCredential2* This,DWORD dwFieldID) {
  1528. return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
  1529. }
  1530. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetSerialization(ICredentialProviderCredential2* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  1531. return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  1532. }
  1533. static FORCEINLINE HRESULT ICredentialProviderCredential2_ReportResult(ICredentialProviderCredential2* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
  1534. return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
  1535. }
  1536. /*** ICredentialProviderCredential2 methods ***/
  1537. static FORCEINLINE HRESULT ICredentialProviderCredential2_GetUserSid(ICredentialProviderCredential2* This,LPWSTR *sid) {
  1538. return This->lpVtbl->GetUserSid(This,sid);
  1539. }
  1540. #endif
  1541. #endif
  1542. #endif
  1543. #endif /* __ICredentialProviderCredential2_INTERFACE_DEFINED__ */
  1544. /*****************************************************************************
  1545. * ICredentialProviderCredentialWithFieldOptions interface
  1546. */
  1547. #ifndef __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__
  1548. #define __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__
  1549. DEFINE_GUID(IID_ICredentialProviderCredentialWithFieldOptions, 0xdbc6fb30, 0xc843, 0x49e3, 0xa6,0x45, 0x57,0x3e,0x6f,0x39,0x44,0x6a);
  1550. #if defined(__cplusplus) && !defined(CINTERFACE)
  1551. MIDL_INTERFACE("dbc6fb30-c843-49e3-a645-573e6f39446a")
  1552. ICredentialProviderCredentialWithFieldOptions : public IUnknown
  1553. {
  1554. virtual HRESULT STDMETHODCALLTYPE GetFieldOptions(
  1555. DWORD fieldID,
  1556. CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options) = 0;
  1557. };
  1558. #ifdef __CRT_UUID_DECL
  1559. __CRT_UUID_DECL(ICredentialProviderCredentialWithFieldOptions, 0xdbc6fb30, 0xc843, 0x49e3, 0xa6,0x45, 0x57,0x3e,0x6f,0x39,0x44,0x6a)
  1560. #endif
  1561. #else
  1562. typedef struct ICredentialProviderCredentialWithFieldOptionsVtbl {
  1563. BEGIN_INTERFACE
  1564. /*** IUnknown methods ***/
  1565. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1566. ICredentialProviderCredentialWithFieldOptions *This,
  1567. REFIID riid,
  1568. void **ppvObject);
  1569. ULONG (STDMETHODCALLTYPE *AddRef)(
  1570. ICredentialProviderCredentialWithFieldOptions *This);
  1571. ULONG (STDMETHODCALLTYPE *Release)(
  1572. ICredentialProviderCredentialWithFieldOptions *This);
  1573. /*** ICredentialProviderCredentialWithFieldOptions methods ***/
  1574. HRESULT (STDMETHODCALLTYPE *GetFieldOptions)(
  1575. ICredentialProviderCredentialWithFieldOptions *This,
  1576. DWORD fieldID,
  1577. CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options);
  1578. END_INTERFACE
  1579. } ICredentialProviderCredentialWithFieldOptionsVtbl;
  1580. interface ICredentialProviderCredentialWithFieldOptions {
  1581. CONST_VTBL ICredentialProviderCredentialWithFieldOptionsVtbl* lpVtbl;
  1582. };
  1583. #ifdef COBJMACROS
  1584. #ifndef WIDL_C_INLINE_WRAPPERS
  1585. /*** IUnknown methods ***/
  1586. #define ICredentialProviderCredentialWithFieldOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1587. #define ICredentialProviderCredentialWithFieldOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
  1588. #define ICredentialProviderCredentialWithFieldOptions_Release(This) (This)->lpVtbl->Release(This)
  1589. /*** ICredentialProviderCredentialWithFieldOptions methods ***/
  1590. #define ICredentialProviderCredentialWithFieldOptions_GetFieldOptions(This,fieldID,options) (This)->lpVtbl->GetFieldOptions(This,fieldID,options)
  1591. #else
  1592. /*** IUnknown methods ***/
  1593. static FORCEINLINE HRESULT ICredentialProviderCredentialWithFieldOptions_QueryInterface(ICredentialProviderCredentialWithFieldOptions* This,REFIID riid,void **ppvObject) {
  1594. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1595. }
  1596. static FORCEINLINE ULONG ICredentialProviderCredentialWithFieldOptions_AddRef(ICredentialProviderCredentialWithFieldOptions* This) {
  1597. return This->lpVtbl->AddRef(This);
  1598. }
  1599. static FORCEINLINE ULONG ICredentialProviderCredentialWithFieldOptions_Release(ICredentialProviderCredentialWithFieldOptions* This) {
  1600. return This->lpVtbl->Release(This);
  1601. }
  1602. /*** ICredentialProviderCredentialWithFieldOptions methods ***/
  1603. static FORCEINLINE HRESULT ICredentialProviderCredentialWithFieldOptions_GetFieldOptions(ICredentialProviderCredentialWithFieldOptions* This,DWORD fieldID,CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options) {
  1604. return This->lpVtbl->GetFieldOptions(This,fieldID,options);
  1605. }
  1606. #endif
  1607. #endif
  1608. #endif
  1609. #endif /* __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__ */
  1610. /*****************************************************************************
  1611. * ICredentialProviderCredentialEvents2 interface
  1612. */
  1613. #ifndef __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__
  1614. #define __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__
  1615. DEFINE_GUID(IID_ICredentialProviderCredentialEvents2, 0xb53c00b6, 0x9922, 0x4b78, 0xb1,0xf4, 0xdd,0xfe,0x77,0x4d,0xc3,0x9b);
  1616. #if defined(__cplusplus) && !defined(CINTERFACE)
  1617. MIDL_INTERFACE("b53c00b6-9922-4b78-b1f4-ddfe774dc39b")
  1618. ICredentialProviderCredentialEvents2 : public ICredentialProviderCredentialEvents
  1619. {
  1620. virtual HRESULT STDMETHODCALLTYPE BeginFieldUpdates(
  1621. ) = 0;
  1622. virtual HRESULT STDMETHODCALLTYPE EndFieldUpdates(
  1623. ) = 0;
  1624. virtual HRESULT STDMETHODCALLTYPE SetFieldOptions(
  1625. ICredentialProviderCredential *credential,
  1626. DWORD fieldID,
  1627. CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options) = 0;
  1628. };
  1629. #ifdef __CRT_UUID_DECL
  1630. __CRT_UUID_DECL(ICredentialProviderCredentialEvents2, 0xb53c00b6, 0x9922, 0x4b78, 0xb1,0xf4, 0xdd,0xfe,0x77,0x4d,0xc3,0x9b)
  1631. #endif
  1632. #else
  1633. typedef struct ICredentialProviderCredentialEvents2Vtbl {
  1634. BEGIN_INTERFACE
  1635. /*** IUnknown methods ***/
  1636. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1637. ICredentialProviderCredentialEvents2 *This,
  1638. REFIID riid,
  1639. void **ppvObject);
  1640. ULONG (STDMETHODCALLTYPE *AddRef)(
  1641. ICredentialProviderCredentialEvents2 *This);
  1642. ULONG (STDMETHODCALLTYPE *Release)(
  1643. ICredentialProviderCredentialEvents2 *This);
  1644. /*** ICredentialProviderCredentialEvents methods ***/
  1645. HRESULT (STDMETHODCALLTYPE *SetFieldState)(
  1646. ICredentialProviderCredentialEvents2 *This,
  1647. ICredentialProviderCredential *pcpc,
  1648. DWORD dwFieldID,
  1649. CREDENTIAL_PROVIDER_FIELD_STATE cpfs);
  1650. HRESULT (STDMETHODCALLTYPE *SetFieldInteractiveState)(
  1651. ICredentialProviderCredentialEvents2 *This,
  1652. ICredentialProviderCredential *pcpc,
  1653. DWORD dwFieldID,
  1654. CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis);
  1655. HRESULT (STDMETHODCALLTYPE *SetFieldString)(
  1656. ICredentialProviderCredentialEvents2 *This,
  1657. ICredentialProviderCredential *pcpc,
  1658. DWORD dwFieldID,
  1659. LPCWSTR psz);
  1660. HRESULT (STDMETHODCALLTYPE *SetFieldCheckbox)(
  1661. ICredentialProviderCredentialEvents2 *This,
  1662. ICredentialProviderCredential *pcpc,
  1663. DWORD dwFieldID,
  1664. WINBOOL bChecked,
  1665. LPCWSTR pszLabel);
  1666. HRESULT (STDMETHODCALLTYPE *SetFieldBitmap)(
  1667. ICredentialProviderCredentialEvents2 *This,
  1668. ICredentialProviderCredential *pcpc,
  1669. DWORD dwFieldID,
  1670. HBITMAP hbmp);
  1671. HRESULT (STDMETHODCALLTYPE *SetFieldComboBoxSelectedItem)(
  1672. ICredentialProviderCredentialEvents2 *This,
  1673. ICredentialProviderCredential *pcpc,
  1674. DWORD dwFieldID,
  1675. DWORD dwSelectedItem);
  1676. HRESULT (STDMETHODCALLTYPE *DeleteFieldComboBoxItem)(
  1677. ICredentialProviderCredentialEvents2 *This,
  1678. ICredentialProviderCredential *pcpc,
  1679. DWORD dwFieldID,
  1680. DWORD dwItem);
  1681. HRESULT (STDMETHODCALLTYPE *AppendFieldComboBoxItem)(
  1682. ICredentialProviderCredentialEvents2 *This,
  1683. ICredentialProviderCredential *pcpc,
  1684. DWORD dwFieldID,
  1685. LPCWSTR pszItem);
  1686. HRESULT (STDMETHODCALLTYPE *SetFieldSubmitButton)(
  1687. ICredentialProviderCredentialEvents2 *This,
  1688. ICredentialProviderCredential *pcpc,
  1689. DWORD dwFieldID,
  1690. DWORD dwAdjacentTo);
  1691. HRESULT (STDMETHODCALLTYPE *OnCreatingWindow)(
  1692. ICredentialProviderCredentialEvents2 *This,
  1693. HWND *phwndOwner);
  1694. /*** ICredentialProviderCredentialEvents2 methods ***/
  1695. HRESULT (STDMETHODCALLTYPE *BeginFieldUpdates)(
  1696. ICredentialProviderCredentialEvents2 *This);
  1697. HRESULT (STDMETHODCALLTYPE *EndFieldUpdates)(
  1698. ICredentialProviderCredentialEvents2 *This);
  1699. HRESULT (STDMETHODCALLTYPE *SetFieldOptions)(
  1700. ICredentialProviderCredentialEvents2 *This,
  1701. ICredentialProviderCredential *credential,
  1702. DWORD fieldID,
  1703. CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options);
  1704. END_INTERFACE
  1705. } ICredentialProviderCredentialEvents2Vtbl;
  1706. interface ICredentialProviderCredentialEvents2 {
  1707. CONST_VTBL ICredentialProviderCredentialEvents2Vtbl* lpVtbl;
  1708. };
  1709. #ifdef COBJMACROS
  1710. #ifndef WIDL_C_INLINE_WRAPPERS
  1711. /*** IUnknown methods ***/
  1712. #define ICredentialProviderCredentialEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1713. #define ICredentialProviderCredentialEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
  1714. #define ICredentialProviderCredentialEvents2_Release(This) (This)->lpVtbl->Release(This)
  1715. /*** ICredentialProviderCredentialEvents methods ***/
  1716. #define ICredentialProviderCredentialEvents2_SetFieldState(This,pcpc,dwFieldID,cpfs) (This)->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs)
  1717. #define ICredentialProviderCredentialEvents2_SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis) (This)->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis)
  1718. #define ICredentialProviderCredentialEvents2_SetFieldString(This,pcpc,dwFieldID,psz) (This)->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz)
  1719. #define ICredentialProviderCredentialEvents2_SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel) (This)->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel)
  1720. #define ICredentialProviderCredentialEvents2_SetFieldBitmap(This,pcpc,dwFieldID,hbmp) (This)->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp)
  1721. #define ICredentialProviderCredentialEvents2_SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem)
  1722. #define ICredentialProviderCredentialEvents2_DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem) (This)->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem)
  1723. #define ICredentialProviderCredentialEvents2_AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem) (This)->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem)
  1724. #define ICredentialProviderCredentialEvents2_SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo) (This)->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo)
  1725. #define ICredentialProviderCredentialEvents2_OnCreatingWindow(This,phwndOwner) (This)->lpVtbl->OnCreatingWindow(This,phwndOwner)
  1726. /*** ICredentialProviderCredentialEvents2 methods ***/
  1727. #define ICredentialProviderCredentialEvents2_BeginFieldUpdates(This) (This)->lpVtbl->BeginFieldUpdates(This)
  1728. #define ICredentialProviderCredentialEvents2_EndFieldUpdates(This) (This)->lpVtbl->EndFieldUpdates(This)
  1729. #define ICredentialProviderCredentialEvents2_SetFieldOptions(This,credential,fieldID,options) (This)->lpVtbl->SetFieldOptions(This,credential,fieldID,options)
  1730. #else
  1731. /*** IUnknown methods ***/
  1732. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_QueryInterface(ICredentialProviderCredentialEvents2* This,REFIID riid,void **ppvObject) {
  1733. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1734. }
  1735. static FORCEINLINE ULONG ICredentialProviderCredentialEvents2_AddRef(ICredentialProviderCredentialEvents2* This) {
  1736. return This->lpVtbl->AddRef(This);
  1737. }
  1738. static FORCEINLINE ULONG ICredentialProviderCredentialEvents2_Release(ICredentialProviderCredentialEvents2* This) {
  1739. return This->lpVtbl->Release(This);
  1740. }
  1741. /*** ICredentialProviderCredentialEvents methods ***/
  1742. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldState(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE cpfs) {
  1743. return This->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs);
  1744. }
  1745. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldInteractiveState(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) {
  1746. return This->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis);
  1747. }
  1748. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldString(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR psz) {
  1749. return This->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz);
  1750. }
  1751. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldCheckbox(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,WINBOOL bChecked,LPCWSTR pszLabel) {
  1752. return This->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel);
  1753. }
  1754. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldBitmap(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,HBITMAP hbmp) {
  1755. return This->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp);
  1756. }
  1757. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldComboBoxSelectedItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwSelectedItem) {
  1758. return This->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem);
  1759. }
  1760. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_DeleteFieldComboBoxItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwItem) {
  1761. return This->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem);
  1762. }
  1763. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_AppendFieldComboBoxItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR pszItem) {
  1764. return This->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem);
  1765. }
  1766. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldSubmitButton(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwAdjacentTo) {
  1767. return This->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo);
  1768. }
  1769. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_OnCreatingWindow(ICredentialProviderCredentialEvents2* This,HWND *phwndOwner) {
  1770. return This->lpVtbl->OnCreatingWindow(This,phwndOwner);
  1771. }
  1772. /*** ICredentialProviderCredentialEvents2 methods ***/
  1773. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_BeginFieldUpdates(ICredentialProviderCredentialEvents2* This) {
  1774. return This->lpVtbl->BeginFieldUpdates(This);
  1775. }
  1776. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_EndFieldUpdates(ICredentialProviderCredentialEvents2* This) {
  1777. return This->lpVtbl->EndFieldUpdates(This);
  1778. }
  1779. static FORCEINLINE HRESULT ICredentialProviderCredentialEvents2_SetFieldOptions(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *credential,DWORD fieldID,CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options) {
  1780. return This->lpVtbl->SetFieldOptions(This,credential,fieldID,options);
  1781. }
  1782. #endif
  1783. #endif
  1784. #endif
  1785. #endif /* __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__ */
  1786. /*****************************************************************************
  1787. * ICredentialProviderUser interface
  1788. */
  1789. #ifndef __ICredentialProviderUser_INTERFACE_DEFINED__
  1790. #define __ICredentialProviderUser_INTERFACE_DEFINED__
  1791. DEFINE_GUID(IID_ICredentialProviderUser, 0x13793285, 0x3ea6, 0x40fd, 0xb4,0x20, 0x15,0xf4,0x7d,0xa4,0x1f,0xbb);
  1792. #if defined(__cplusplus) && !defined(CINTERFACE)
  1793. MIDL_INTERFACE("13793285-3ea6-40fd-b420-15f47da41fbb")
  1794. ICredentialProviderUser : public IUnknown
  1795. {
  1796. virtual HRESULT STDMETHODCALLTYPE GetSid(
  1797. LPWSTR *sid) = 0;
  1798. virtual HRESULT STDMETHODCALLTYPE GetProviderID(
  1799. GUID *providerID) = 0;
  1800. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  1801. REFPROPERTYKEY key,
  1802. LPWSTR *stringValue) = 0;
  1803. virtual HRESULT STDMETHODCALLTYPE GetValue(
  1804. REFPROPERTYKEY key,
  1805. PROPVARIANT *value) = 0;
  1806. };
  1807. #ifdef __CRT_UUID_DECL
  1808. __CRT_UUID_DECL(ICredentialProviderUser, 0x13793285, 0x3ea6, 0x40fd, 0xb4,0x20, 0x15,0xf4,0x7d,0xa4,0x1f,0xbb)
  1809. #endif
  1810. #else
  1811. typedef struct ICredentialProviderUserVtbl {
  1812. BEGIN_INTERFACE
  1813. /*** IUnknown methods ***/
  1814. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1815. ICredentialProviderUser *This,
  1816. REFIID riid,
  1817. void **ppvObject);
  1818. ULONG (STDMETHODCALLTYPE *AddRef)(
  1819. ICredentialProviderUser *This);
  1820. ULONG (STDMETHODCALLTYPE *Release)(
  1821. ICredentialProviderUser *This);
  1822. /*** ICredentialProviderUser methods ***/
  1823. HRESULT (STDMETHODCALLTYPE *GetSid)(
  1824. ICredentialProviderUser *This,
  1825. LPWSTR *sid);
  1826. HRESULT (STDMETHODCALLTYPE *GetProviderID)(
  1827. ICredentialProviderUser *This,
  1828. GUID *providerID);
  1829. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  1830. ICredentialProviderUser *This,
  1831. REFPROPERTYKEY key,
  1832. LPWSTR *stringValue);
  1833. HRESULT (STDMETHODCALLTYPE *GetValue)(
  1834. ICredentialProviderUser *This,
  1835. REFPROPERTYKEY key,
  1836. PROPVARIANT *value);
  1837. END_INTERFACE
  1838. } ICredentialProviderUserVtbl;
  1839. interface ICredentialProviderUser {
  1840. CONST_VTBL ICredentialProviderUserVtbl* lpVtbl;
  1841. };
  1842. #ifdef COBJMACROS
  1843. #ifndef WIDL_C_INLINE_WRAPPERS
  1844. /*** IUnknown methods ***/
  1845. #define ICredentialProviderUser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1846. #define ICredentialProviderUser_AddRef(This) (This)->lpVtbl->AddRef(This)
  1847. #define ICredentialProviderUser_Release(This) (This)->lpVtbl->Release(This)
  1848. /*** ICredentialProviderUser methods ***/
  1849. #define ICredentialProviderUser_GetSid(This,sid) (This)->lpVtbl->GetSid(This,sid)
  1850. #define ICredentialProviderUser_GetProviderID(This,providerID) (This)->lpVtbl->GetProviderID(This,providerID)
  1851. #define ICredentialProviderUser_GetStringValue(This,key,stringValue) (This)->lpVtbl->GetStringValue(This,key,stringValue)
  1852. #define ICredentialProviderUser_GetValue(This,key,value) (This)->lpVtbl->GetValue(This,key,value)
  1853. #else
  1854. /*** IUnknown methods ***/
  1855. static FORCEINLINE HRESULT ICredentialProviderUser_QueryInterface(ICredentialProviderUser* This,REFIID riid,void **ppvObject) {
  1856. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1857. }
  1858. static FORCEINLINE ULONG ICredentialProviderUser_AddRef(ICredentialProviderUser* This) {
  1859. return This->lpVtbl->AddRef(This);
  1860. }
  1861. static FORCEINLINE ULONG ICredentialProviderUser_Release(ICredentialProviderUser* This) {
  1862. return This->lpVtbl->Release(This);
  1863. }
  1864. /*** ICredentialProviderUser methods ***/
  1865. static FORCEINLINE HRESULT ICredentialProviderUser_GetSid(ICredentialProviderUser* This,LPWSTR *sid) {
  1866. return This->lpVtbl->GetSid(This,sid);
  1867. }
  1868. static FORCEINLINE HRESULT ICredentialProviderUser_GetProviderID(ICredentialProviderUser* This,GUID *providerID) {
  1869. return This->lpVtbl->GetProviderID(This,providerID);
  1870. }
  1871. static FORCEINLINE HRESULT ICredentialProviderUser_GetStringValue(ICredentialProviderUser* This,REFPROPERTYKEY key,LPWSTR *stringValue) {
  1872. return This->lpVtbl->GetStringValue(This,key,stringValue);
  1873. }
  1874. static FORCEINLINE HRESULT ICredentialProviderUser_GetValue(ICredentialProviderUser* This,REFPROPERTYKEY key,PROPVARIANT *value) {
  1875. return This->lpVtbl->GetValue(This,key,value);
  1876. }
  1877. #endif
  1878. #endif
  1879. #endif
  1880. #endif /* __ICredentialProviderUser_INTERFACE_DEFINED__ */
  1881. DEFINE_GUID(Identity_LocalUserProvider, 0xA198529B, 0x730F, 0x4089, 0xB6, 0x46, 0xA1, 0x25, 0x57, 0xF5, 0x66, 0x5E);
  1882. /*****************************************************************************
  1883. * ICredentialProviderUserArray interface
  1884. */
  1885. #ifndef __ICredentialProviderUserArray_INTERFACE_DEFINED__
  1886. #define __ICredentialProviderUserArray_INTERFACE_DEFINED__
  1887. DEFINE_GUID(IID_ICredentialProviderUserArray, 0x90c119ae, 0x0f18, 0x4520, 0xa1,0xf1, 0x11,0x43,0x66,0xa4,0x0f,0xe8);
  1888. #if defined(__cplusplus) && !defined(CINTERFACE)
  1889. MIDL_INTERFACE("90c119ae-0f18-4520-a1f1-114366a40fe8")
  1890. ICredentialProviderUserArray : public IUnknown
  1891. {
  1892. virtual HRESULT STDMETHODCALLTYPE SetProviderFilter(
  1893. REFGUID guidProviderToFilterTo) = 0;
  1894. virtual HRESULT STDMETHODCALLTYPE GetAccountOptions(
  1895. CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions) = 0;
  1896. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1897. DWORD *userCount) = 0;
  1898. virtual HRESULT STDMETHODCALLTYPE GetAt(
  1899. DWORD userIndex,
  1900. ICredentialProviderUser **user) = 0;
  1901. };
  1902. #ifdef __CRT_UUID_DECL
  1903. __CRT_UUID_DECL(ICredentialProviderUserArray, 0x90c119ae, 0x0f18, 0x4520, 0xa1,0xf1, 0x11,0x43,0x66,0xa4,0x0f,0xe8)
  1904. #endif
  1905. #else
  1906. typedef struct ICredentialProviderUserArrayVtbl {
  1907. BEGIN_INTERFACE
  1908. /*** IUnknown methods ***/
  1909. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1910. ICredentialProviderUserArray *This,
  1911. REFIID riid,
  1912. void **ppvObject);
  1913. ULONG (STDMETHODCALLTYPE *AddRef)(
  1914. ICredentialProviderUserArray *This);
  1915. ULONG (STDMETHODCALLTYPE *Release)(
  1916. ICredentialProviderUserArray *This);
  1917. /*** ICredentialProviderUserArray methods ***/
  1918. HRESULT (STDMETHODCALLTYPE *SetProviderFilter)(
  1919. ICredentialProviderUserArray *This,
  1920. REFGUID guidProviderToFilterTo);
  1921. HRESULT (STDMETHODCALLTYPE *GetAccountOptions)(
  1922. ICredentialProviderUserArray *This,
  1923. CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions);
  1924. HRESULT (STDMETHODCALLTYPE *GetCount)(
  1925. ICredentialProviderUserArray *This,
  1926. DWORD *userCount);
  1927. HRESULT (STDMETHODCALLTYPE *GetAt)(
  1928. ICredentialProviderUserArray *This,
  1929. DWORD userIndex,
  1930. ICredentialProviderUser **user);
  1931. END_INTERFACE
  1932. } ICredentialProviderUserArrayVtbl;
  1933. interface ICredentialProviderUserArray {
  1934. CONST_VTBL ICredentialProviderUserArrayVtbl* lpVtbl;
  1935. };
  1936. #ifdef COBJMACROS
  1937. #ifndef WIDL_C_INLINE_WRAPPERS
  1938. /*** IUnknown methods ***/
  1939. #define ICredentialProviderUserArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1940. #define ICredentialProviderUserArray_AddRef(This) (This)->lpVtbl->AddRef(This)
  1941. #define ICredentialProviderUserArray_Release(This) (This)->lpVtbl->Release(This)
  1942. /*** ICredentialProviderUserArray methods ***/
  1943. #define ICredentialProviderUserArray_SetProviderFilter(This,guidProviderToFilterTo) (This)->lpVtbl->SetProviderFilter(This,guidProviderToFilterTo)
  1944. #define ICredentialProviderUserArray_GetAccountOptions(This,credentialProviderAccountOptions) (This)->lpVtbl->GetAccountOptions(This,credentialProviderAccountOptions)
  1945. #define ICredentialProviderUserArray_GetCount(This,userCount) (This)->lpVtbl->GetCount(This,userCount)
  1946. #define ICredentialProviderUserArray_GetAt(This,userIndex,user) (This)->lpVtbl->GetAt(This,userIndex,user)
  1947. #else
  1948. /*** IUnknown methods ***/
  1949. static FORCEINLINE HRESULT ICredentialProviderUserArray_QueryInterface(ICredentialProviderUserArray* This,REFIID riid,void **ppvObject) {
  1950. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1951. }
  1952. static FORCEINLINE ULONG ICredentialProviderUserArray_AddRef(ICredentialProviderUserArray* This) {
  1953. return This->lpVtbl->AddRef(This);
  1954. }
  1955. static FORCEINLINE ULONG ICredentialProviderUserArray_Release(ICredentialProviderUserArray* This) {
  1956. return This->lpVtbl->Release(This);
  1957. }
  1958. /*** ICredentialProviderUserArray methods ***/
  1959. static FORCEINLINE HRESULT ICredentialProviderUserArray_SetProviderFilter(ICredentialProviderUserArray* This,REFGUID guidProviderToFilterTo) {
  1960. return This->lpVtbl->SetProviderFilter(This,guidProviderToFilterTo);
  1961. }
  1962. static FORCEINLINE HRESULT ICredentialProviderUserArray_GetAccountOptions(ICredentialProviderUserArray* This,CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions) {
  1963. return This->lpVtbl->GetAccountOptions(This,credentialProviderAccountOptions);
  1964. }
  1965. static FORCEINLINE HRESULT ICredentialProviderUserArray_GetCount(ICredentialProviderUserArray* This,DWORD *userCount) {
  1966. return This->lpVtbl->GetCount(This,userCount);
  1967. }
  1968. static FORCEINLINE HRESULT ICredentialProviderUserArray_GetAt(ICredentialProviderUserArray* This,DWORD userIndex,ICredentialProviderUser **user) {
  1969. return This->lpVtbl->GetAt(This,userIndex,user);
  1970. }
  1971. #endif
  1972. #endif
  1973. #endif
  1974. #endif /* __ICredentialProviderUserArray_INTERFACE_DEFINED__ */
  1975. /*****************************************************************************
  1976. * ICredentialProviderSetUserArray interface
  1977. */
  1978. #ifndef __ICredentialProviderSetUserArray_INTERFACE_DEFINED__
  1979. #define __ICredentialProviderSetUserArray_INTERFACE_DEFINED__
  1980. DEFINE_GUID(IID_ICredentialProviderSetUserArray, 0x095c1484, 0x1c0c, 0x4388, 0x9c,0x6d, 0x50,0x0e,0x61,0xbf,0x84,0xbd);
  1981. #if defined(__cplusplus) && !defined(CINTERFACE)
  1982. MIDL_INTERFACE("095c1484-1c0c-4388-9c6d-500e61bf84bd")
  1983. ICredentialProviderSetUserArray : public IUnknown
  1984. {
  1985. virtual HRESULT STDMETHODCALLTYPE SetUserArray(
  1986. ICredentialProviderUserArray *users) = 0;
  1987. };
  1988. #ifdef __CRT_UUID_DECL
  1989. __CRT_UUID_DECL(ICredentialProviderSetUserArray, 0x095c1484, 0x1c0c, 0x4388, 0x9c,0x6d, 0x50,0x0e,0x61,0xbf,0x84,0xbd)
  1990. #endif
  1991. #else
  1992. typedef struct ICredentialProviderSetUserArrayVtbl {
  1993. BEGIN_INTERFACE
  1994. /*** IUnknown methods ***/
  1995. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1996. ICredentialProviderSetUserArray *This,
  1997. REFIID riid,
  1998. void **ppvObject);
  1999. ULONG (STDMETHODCALLTYPE *AddRef)(
  2000. ICredentialProviderSetUserArray *This);
  2001. ULONG (STDMETHODCALLTYPE *Release)(
  2002. ICredentialProviderSetUserArray *This);
  2003. /*** ICredentialProviderSetUserArray methods ***/
  2004. HRESULT (STDMETHODCALLTYPE *SetUserArray)(
  2005. ICredentialProviderSetUserArray *This,
  2006. ICredentialProviderUserArray *users);
  2007. END_INTERFACE
  2008. } ICredentialProviderSetUserArrayVtbl;
  2009. interface ICredentialProviderSetUserArray {
  2010. CONST_VTBL ICredentialProviderSetUserArrayVtbl* lpVtbl;
  2011. };
  2012. #ifdef COBJMACROS
  2013. #ifndef WIDL_C_INLINE_WRAPPERS
  2014. /*** IUnknown methods ***/
  2015. #define ICredentialProviderSetUserArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2016. #define ICredentialProviderSetUserArray_AddRef(This) (This)->lpVtbl->AddRef(This)
  2017. #define ICredentialProviderSetUserArray_Release(This) (This)->lpVtbl->Release(This)
  2018. /*** ICredentialProviderSetUserArray methods ***/
  2019. #define ICredentialProviderSetUserArray_SetUserArray(This,users) (This)->lpVtbl->SetUserArray(This,users)
  2020. #else
  2021. /*** IUnknown methods ***/
  2022. static FORCEINLINE HRESULT ICredentialProviderSetUserArray_QueryInterface(ICredentialProviderSetUserArray* This,REFIID riid,void **ppvObject) {
  2023. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2024. }
  2025. static FORCEINLINE ULONG ICredentialProviderSetUserArray_AddRef(ICredentialProviderSetUserArray* This) {
  2026. return This->lpVtbl->AddRef(This);
  2027. }
  2028. static FORCEINLINE ULONG ICredentialProviderSetUserArray_Release(ICredentialProviderSetUserArray* This) {
  2029. return This->lpVtbl->Release(This);
  2030. }
  2031. /*** ICredentialProviderSetUserArray methods ***/
  2032. static FORCEINLINE HRESULT ICredentialProviderSetUserArray_SetUserArray(ICredentialProviderSetUserArray* This,ICredentialProviderUserArray *users) {
  2033. return This->lpVtbl->SetUserArray(This,users);
  2034. }
  2035. #endif
  2036. #endif
  2037. #endif
  2038. #endif /* __ICredentialProviderSetUserArray_INTERFACE_DEFINED__ */
  2039. #endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
  2040. #ifndef __CredentialProviders_LIBRARY_DEFINED__
  2041. #define __CredentialProviders_LIBRARY_DEFINED__
  2042. DEFINE_GUID(LIBID_CredentialProviders, 0xd545db01, 0xe522, 0x4a63, 0xaf,0x83, 0xd8,0xdd,0xf9,0x54,0x00,0x4f);
  2043. /*****************************************************************************
  2044. * PasswordCredentialProvider coclass
  2045. */
  2046. DEFINE_GUID(CLSID_PasswordCredentialProvider, 0x60b78e88, 0xead8, 0x445c, 0x9c,0xfd, 0x0b,0x87,0xf7,0x4e,0xa6,0xcd);
  2047. #ifdef __cplusplus
  2048. class DECLSPEC_UUID("60b78e88-ead8-445c-9cfd-0b87f74ea6cd") PasswordCredentialProvider;
  2049. #ifdef __CRT_UUID_DECL
  2050. __CRT_UUID_DECL(PasswordCredentialProvider, 0x60b78e88, 0xead8, 0x445c, 0x9c,0xfd, 0x0b,0x87,0xf7,0x4e,0xa6,0xcd)
  2051. #endif
  2052. #endif
  2053. /*****************************************************************************
  2054. * V1PasswordCredentialProvider coclass
  2055. */
  2056. DEFINE_GUID(CLSID_V1PasswordCredentialProvider, 0x6f45dc1e, 0x5384, 0x457a, 0xbc,0x13, 0x2c,0xd8,0x1b,0x0d,0x28,0xed);
  2057. #ifdef __cplusplus
  2058. class DECLSPEC_UUID("6f45dc1e-5384-457a-bc13-2cd81b0d28ed") V1PasswordCredentialProvider;
  2059. #ifdef __CRT_UUID_DECL
  2060. __CRT_UUID_DECL(V1PasswordCredentialProvider, 0x6f45dc1e, 0x5384, 0x457a, 0xbc,0x13, 0x2c,0xd8,0x1b,0x0d,0x28,0xed)
  2061. #endif
  2062. #endif
  2063. /*****************************************************************************
  2064. * PINLogonCredentialProvider coclass
  2065. */
  2066. DEFINE_GUID(CLSID_PINLogonCredentialProvider, 0xcb82ea12, 0x9f71, 0x446d, 0x89,0xe1, 0x8d,0x09,0x24,0xe1,0x25,0x6e);
  2067. #ifdef __cplusplus
  2068. class DECLSPEC_UUID("cb82ea12-9f71-446d-89e1-8d0924e1256e") PINLogonCredentialProvider;
  2069. #ifdef __CRT_UUID_DECL
  2070. __CRT_UUID_DECL(PINLogonCredentialProvider, 0xcb82ea12, 0x9f71, 0x446d, 0x89,0xe1, 0x8d,0x09,0x24,0xe1,0x25,0x6e)
  2071. #endif
  2072. #endif
  2073. /*****************************************************************************
  2074. * NPCredentialProvider coclass
  2075. */
  2076. DEFINE_GUID(CLSID_NPCredentialProvider, 0x3dd6bec0, 0x8193, 0x4ffe, 0xae,0x25, 0xe0,0x8e,0x39,0xea,0x40,0x63);
  2077. #ifdef __cplusplus
  2078. class DECLSPEC_UUID("3dd6bec0-8193-4ffe-ae25-e08e39ea4063") NPCredentialProvider;
  2079. #ifdef __CRT_UUID_DECL
  2080. __CRT_UUID_DECL(NPCredentialProvider, 0x3dd6bec0, 0x8193, 0x4ffe, 0xae,0x25, 0xe0,0x8e,0x39,0xea,0x40,0x63)
  2081. #endif
  2082. #endif
  2083. /*****************************************************************************
  2084. * SmartcardCredentialProvider coclass
  2085. */
  2086. DEFINE_GUID(CLSID_SmartcardCredentialProvider, 0x8fd7e19c, 0x3bf7, 0x489b, 0xa7,0x2c, 0x84,0x6a,0xb3,0x67,0x8c,0x96);
  2087. #ifdef __cplusplus
  2088. class DECLSPEC_UUID("8fd7e19c-3bf7-489b-a72c-846ab3678c96") SmartcardCredentialProvider;
  2089. #ifdef __CRT_UUID_DECL
  2090. __CRT_UUID_DECL(SmartcardCredentialProvider, 0x8fd7e19c, 0x3bf7, 0x489b, 0xa7,0x2c, 0x84,0x6a,0xb3,0x67,0x8c,0x96)
  2091. #endif
  2092. #endif
  2093. /*****************************************************************************
  2094. * V1SmartcardCredentialProvider coclass
  2095. */
  2096. DEFINE_GUID(CLSID_V1SmartcardCredentialProvider, 0x8bf9a910, 0xa8ff, 0x457f, 0x99,0x9f, 0xa5,0xca,0x10,0xb4,0xa8,0x85);
  2097. #ifdef __cplusplus
  2098. class DECLSPEC_UUID("8bf9a910-a8ff-457f-999f-a5ca10b4a885") V1SmartcardCredentialProvider;
  2099. #ifdef __CRT_UUID_DECL
  2100. __CRT_UUID_DECL(V1SmartcardCredentialProvider, 0x8bf9a910, 0xa8ff, 0x457f, 0x99,0x9f, 0xa5,0xca,0x10,0xb4,0xa8,0x85)
  2101. #endif
  2102. #endif
  2103. /*****************************************************************************
  2104. * SmartcardPinProvider coclass
  2105. */
  2106. DEFINE_GUID(CLSID_SmartcardPinProvider, 0x94596c7e, 0x3744, 0x41ce, 0x89,0x3e, 0xbb,0xf0,0x91,0x22,0xf7,0x6a);
  2107. #ifdef __cplusplus
  2108. class DECLSPEC_UUID("94596c7e-3744-41ce-893e-bbf09122f76a") SmartcardPinProvider;
  2109. #ifdef __CRT_UUID_DECL
  2110. __CRT_UUID_DECL(SmartcardPinProvider, 0x94596c7e, 0x3744, 0x41ce, 0x89,0x3e, 0xbb,0xf0,0x91,0x22,0xf7,0x6a)
  2111. #endif
  2112. #endif
  2113. /*****************************************************************************
  2114. * SmartcardReaderSelectionProvider coclass
  2115. */
  2116. DEFINE_GUID(CLSID_SmartcardReaderSelectionProvider, 0x1b283861, 0x754f, 0x4022, 0xad,0x47, 0xa5,0xea,0xaa,0x61,0x88,0x94);
  2117. #ifdef __cplusplus
  2118. class DECLSPEC_UUID("1b283861-754f-4022-ad47-a5eaaa618894") SmartcardReaderSelectionProvider;
  2119. #ifdef __CRT_UUID_DECL
  2120. __CRT_UUID_DECL(SmartcardReaderSelectionProvider, 0x1b283861, 0x754f, 0x4022, 0xad,0x47, 0xa5,0xea,0xaa,0x61,0x88,0x94)
  2121. #endif
  2122. #endif
  2123. /*****************************************************************************
  2124. * SmartcardWinRTProvider coclass
  2125. */
  2126. DEFINE_GUID(CLSID_SmartcardWinRTProvider, 0x1ee7337f, 0x85ac, 0x45e2, 0xa2,0x3c, 0x37,0xc7,0x53,0x20,0x97,0x69);
  2127. #ifdef __cplusplus
  2128. class DECLSPEC_UUID("1ee7337f-85ac-45e2-a23c-37c753209769") SmartcardWinRTProvider;
  2129. #ifdef __CRT_UUID_DECL
  2130. __CRT_UUID_DECL(SmartcardWinRTProvider, 0x1ee7337f, 0x85ac, 0x45e2, 0xa2,0x3c, 0x37,0xc7,0x53,0x20,0x97,0x69)
  2131. #endif
  2132. #endif
  2133. /*****************************************************************************
  2134. * GenericCredentialProvider coclass
  2135. */
  2136. DEFINE_GUID(CLSID_GenericCredentialProvider, 0x25cbb996, 0x92ed, 0x457e, 0xb2,0x8c, 0x47,0x74,0x08,0x4b,0xd5,0x62);
  2137. #ifdef __cplusplus
  2138. class DECLSPEC_UUID("25cbb996-92ed-457e-b28c-4774084bd562") GenericCredentialProvider;
  2139. #ifdef __CRT_UUID_DECL
  2140. __CRT_UUID_DECL(GenericCredentialProvider, 0x25cbb996, 0x92ed, 0x457e, 0xb2,0x8c, 0x47,0x74,0x08,0x4b,0xd5,0x62)
  2141. #endif
  2142. #endif
  2143. /*****************************************************************************
  2144. * RASProvider coclass
  2145. */
  2146. DEFINE_GUID(CLSID_RASProvider, 0x5537e283, 0xb1e7, 0x4ef8, 0x9c,0x6e, 0x7a,0xb0,0xaf,0xe5,0x05,0x6d);
  2147. #ifdef __cplusplus
  2148. class DECLSPEC_UUID("5537e283-b1e7-4ef8-9c6e-7ab0afe5056d") RASProvider;
  2149. #ifdef __CRT_UUID_DECL
  2150. __CRT_UUID_DECL(RASProvider, 0x5537e283, 0xb1e7, 0x4ef8, 0x9c,0x6e, 0x7a,0xb0,0xaf,0xe5,0x05,0x6d)
  2151. #endif
  2152. #endif
  2153. /*****************************************************************************
  2154. * OnexCredentialProvider coclass
  2155. */
  2156. DEFINE_GUID(CLSID_OnexCredentialProvider, 0x07aa0886, 0xcc8d, 0x4e19, 0xa4,0x10, 0x1c,0x75,0xaf,0x68,0x6e,0x62);
  2157. #ifdef __cplusplus
  2158. class DECLSPEC_UUID("07aa0886-cc8d-4e19-a410-1c75af686e62") OnexCredentialProvider;
  2159. #ifdef __CRT_UUID_DECL
  2160. __CRT_UUID_DECL(OnexCredentialProvider, 0x07aa0886, 0xcc8d, 0x4e19, 0xa4,0x10, 0x1c,0x75,0xaf,0x68,0x6e,0x62)
  2161. #endif
  2162. #endif
  2163. /*****************************************************************************
  2164. * OnexPlapSmartcardCredentialProvider coclass
  2165. */
  2166. DEFINE_GUID(CLSID_OnexPlapSmartcardCredentialProvider, 0x33c86cd6, 0x705f, 0x4ba1, 0x9a,0xdb, 0x67,0x07,0x0b,0x83,0x77,0x75);
  2167. #ifdef __cplusplus
  2168. class DECLSPEC_UUID("33c86cd6-705f-4ba1-9adb-67070b837775") OnexPlapSmartcardCredentialProvider;
  2169. #ifdef __CRT_UUID_DECL
  2170. __CRT_UUID_DECL(OnexPlapSmartcardCredentialProvider, 0x33c86cd6, 0x705f, 0x4ba1, 0x9a,0xdb, 0x67,0x07,0x0b,0x83,0x77,0x75)
  2171. #endif
  2172. #endif
  2173. /*****************************************************************************
  2174. * VaultProvider coclass
  2175. */
  2176. DEFINE_GUID(CLSID_VaultProvider, 0x503739d0, 0x4c5e, 0x4cfd, 0xb3,0xba, 0xd8,0x81,0x33,0x4f,0x0d,0xf2);
  2177. #ifdef __cplusplus
  2178. class DECLSPEC_UUID("503739d0-4c5e-4cfd-b3ba-d881334f0df2") VaultProvider;
  2179. #ifdef __CRT_UUID_DECL
  2180. __CRT_UUID_DECL(VaultProvider, 0x503739d0, 0x4c5e, 0x4cfd, 0xb3,0xba, 0xd8,0x81,0x33,0x4f,0x0d,0xf2)
  2181. #endif
  2182. #endif
  2183. /*****************************************************************************
  2184. * WinBioCredentialProvider coclass
  2185. */
  2186. DEFINE_GUID(CLSID_WinBioCredentialProvider, 0xbec09223, 0xb018, 0x416d, 0xa0,0xac, 0x52,0x39,0x71,0xb6,0x39,0xf5);
  2187. #ifdef __cplusplus
  2188. class DECLSPEC_UUID("bec09223-b018-416d-a0ac-523971b639f5") WinBioCredentialProvider;
  2189. #ifdef __CRT_UUID_DECL
  2190. __CRT_UUID_DECL(WinBioCredentialProvider, 0xbec09223, 0xb018, 0x416d, 0xa0,0xac, 0x52,0x39,0x71,0xb6,0x39,0xf5)
  2191. #endif
  2192. #endif
  2193. /*****************************************************************************
  2194. * V1WinBioCredentialProvider coclass
  2195. */
  2196. DEFINE_GUID(CLSID_V1WinBioCredentialProvider, 0xac3ac249, 0xe820, 0x4343, 0xa6,0x5b, 0x37,0x7a,0xc6,0x34,0xdc,0x09);
  2197. #ifdef __cplusplus
  2198. class DECLSPEC_UUID("ac3ac249-e820-4343-a65b-377ac634dc09") V1WinBioCredentialProvider;
  2199. #ifdef __CRT_UUID_DECL
  2200. __CRT_UUID_DECL(V1WinBioCredentialProvider, 0xac3ac249, 0xe820, 0x4343, 0xa6,0x5b, 0x37,0x7a,0xc6,0x34,0xdc,0x09)
  2201. #endif
  2202. #endif
  2203. #endif /* __CredentialProviders_LIBRARY_DEFINED__ */
  2204. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  2205. /* Begin additional prototypes for all interfaces */
  2206. ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
  2207. unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
  2208. unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
  2209. void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
  2210. ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
  2211. unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
  2212. unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
  2213. void __RPC_USER HWND_UserFree (ULONG *, HWND *);
  2214. /* End additional prototypes */
  2215. #ifdef __cplusplus
  2216. }
  2217. #endif
  2218. #endif /* __credentialprovider_h__ */