Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

928 lines
25 KiB

  1. #include "..\inc\dispids.h"
  2. [
  3. uuid(304691b9-cd81-46b0-beea-0914154c1db4),
  4. helpstring("WinHTTP Test 1.0 Type Library"),
  5. lcid(0x0000),
  6. version(1.0)
  7. ]
  8. library WinHttpTest
  9. {
  10. importlib ("stdole32.tlb");
  11. importlib ("stdole2.tlb");
  12. // ==================================== IWinHttpTest ====================================
  13. [
  14. uuid(ce3aa519-f3ab-4e9e-88cc-b4fec3d326cf),
  15. object, dual,
  16. nonextensible,
  17. helpstring("IWinHttpTest Interface"),
  18. pointer_default(unique)
  19. ]
  20. interface IWinHttpTest : IDispatch
  21. {
  22. [
  23. id(DISPID_WINHTTPTEST_OPEN),
  24. helpstring("wraps winhttp5!WinHttpOpen()")
  25. ]
  26. HRESULT WinHttpOpen(
  27. [in] VARIANT UserAgent,
  28. [in] VARIANT AccessType,
  29. [in] VARIANT ProxyName,
  30. [in] VARIANT ProxyBypass,
  31. [in] VARIANT Flags,
  32. [out, retval] VARIANT* OpenHandle
  33. );
  34. [
  35. id(DISPID_WINHTTPTEST_CONNECT),
  36. helpstring("wraps winhttp5!WinHttpConnect()")
  37. ]
  38. HRESULT WinHttpConnect(
  39. [in] VARIANT OpenHandle,
  40. [in] VARIANT ServerName,
  41. [in] VARIANT ServerPort,
  42. [in] VARIANT Reserved,
  43. [out, retval] VARIANT* ConnectHandle
  44. );
  45. [
  46. id(DISPID_WINHTTPTEST_OPENREQUEST),
  47. helpstring("wraps winhttp5!WinHttpRequest()")
  48. ]
  49. HRESULT WinHttpOpenRequest(
  50. [in] VARIANT ConnectHandle,
  51. [in] VARIANT Verb,
  52. [in] VARIANT ObjectName,
  53. [in] VARIANT Version,
  54. [in] VARIANT Referrer,
  55. [in] VARIANT AcceptTypes,
  56. [in] VARIANT Flags,
  57. [out, retval] VARIANT* RequestHandle
  58. );
  59. [
  60. id(DISPID_WINHTTPTEST_SENDREQUEST),
  61. helpstring("wraps winhttp5!WinHttpSendRequest()")
  62. ]
  63. HRESULT WinHttpSendRequest(
  64. [in] VARIANT RequestHandle,
  65. [in] VARIANT Headers,
  66. [in] VARIANT HeadersLength,
  67. [in] VARIANT OptionalData,
  68. [in] VARIANT OptionalLength,
  69. [in] VARIANT TotalLength,
  70. [in] VARIANT Context,
  71. [out, retval] VARIANT* Success
  72. );
  73. [
  74. id(DISPID_WINHTTPTEST_RECEIVERESPONSE),
  75. helpstring("wraps winhttp5!WinHttpReceiveResponse()")
  76. ]
  77. HRESULT WinHttpReceiveResponse(
  78. [in] VARIANT RequestHandle,
  79. [in] VARIANT Reserved,
  80. [out, retval] VARIANT* Success
  81. );
  82. [
  83. id(DISPID_WINHTTPTEST_CLOSEHANDLE),
  84. helpstring("wraps winhttp5!WinHttpCloseHandle()")
  85. ]
  86. HRESULT WinHttpCloseHandle(
  87. [in] VARIANT InternetHandle,
  88. [out, retval] VARIANT* Success
  89. );
  90. //+========================================================================
  91. // NB: WinHttpReadData
  92. //
  93. // The BufferObject parameter replaces the following C API params:
  94. //
  95. // - [out] LPVOID lpBuffer
  96. // - [in] DWORD dwNumberOfBytesToRead
  97. // - [out] LPDWORD lpdwNumberOfBytesRead
  98. //-========================================================================
  99. [
  100. id(DISPID_WINHTTPTEST_READDATA),
  101. helpstring("wraps winhttp5!WinHttpReadData()")
  102. ]
  103. HRESULT WinHttpReadData(
  104. [in] VARIANT RequestHandle,
  105. [in] VARIANT BufferObject,
  106. [out, retval] VARIANT* Success
  107. );
  108. //+========================================================================
  109. // NB: WinHttpWriteData
  110. //
  111. // The BufferObject parameter replaces the following C API params:
  112. //
  113. // - [in] LPCVOID lpBuffer
  114. // - [in] DWORD dwNumberOfBytesToWrite
  115. // - [out] LPDWORD lpdwNumberOfBytesWritten
  116. //-========================================================================
  117. [
  118. id(DISPID_WINHTTPTEST_WRITEDATA),
  119. helpstring("wraps winhttp5!WinHttpWriteData()")
  120. ]
  121. HRESULT WinHttpWriteData(
  122. [in] VARIANT RequestHandle,
  123. [in] VARIANT BufferObject,
  124. [out, retval] VARIANT* Success
  125. );
  126. [
  127. id(DISPID_WINHTTPTEST_QUERYDATAAVAILABLE),
  128. helpstring("wraps winhttp5!WinHttpQueryDataAvailable()")
  129. ]
  130. HRESULT WinHttpQueryDataAvailable(
  131. [in] VARIANT RequestHandle,
  132. [in] VARIANT boNumberOfBytesAvailable,
  133. [out, retval] VARIANT* Success
  134. );
  135. //+========================================================================
  136. // NB: WinHttpQueryOption
  137. //
  138. // The BufferObject parameter replaces the following C API params:
  139. //
  140. // - [out] LPVOID lpBuffer
  141. // - [in, out] LPDWORD lpdwBufferLength
  142. //-========================================================================
  143. [
  144. id(DISPID_WINHTTPTEST_QUERYOPTION),
  145. helpstring("wraps winhttp5!WinHttpQueryOption()")
  146. ]
  147. HRESULT WinHttpQueryOption(
  148. [in] VARIANT InternetHandle,
  149. [in] VARIANT Option,
  150. [in] VARIANT BufferObject,
  151. [out, retval] VARIANT* Success
  152. );
  153. //+========================================================================
  154. // NB: WinHttpSetOption
  155. //
  156. // The BufferObject parameter replaces the following C API params:
  157. //
  158. // - [in] LPVOID lpBuffer
  159. // - [in] DWORD dwBufferLength
  160. //-========================================================================
  161. [
  162. id(DISPID_WINHTTPTEST_SETOPTION),
  163. helpstring("wraps winhttp5!WinHttpSetOption()")
  164. ]
  165. HRESULT WinHttpSetOption(
  166. [in] VARIANT InternetHandle,
  167. [in] VARIANT Option,
  168. [in] VARIANT BufferObject,
  169. [out, retval] VARIANT* Success
  170. );
  171. [
  172. id(DISPID_WINHTTPTEST_SETTIMEOUTS),
  173. helpstring("wraps winhttp5!WinHttpSetTimeouts()")
  174. ]
  175. HRESULT WinHttpSetTimeouts(
  176. [in] VARIANT InternetHandle,
  177. [in] VARIANT ResolveTimeout,
  178. [in] VARIANT ConnectTimeout,
  179. [in] VARIANT SendTimeout,
  180. [in] VARIANT ReceiveTimeout,
  181. [out, retval] VARIANT* Success
  182. );
  183. [
  184. id(DISPID_WINHTTPTEST_ADDREQUESTHEADERS),
  185. helpstring("wraps winhttp5!WinHttpAddRequestHeaders()")
  186. ]
  187. HRESULT WinHttpAddRequestHeaders(
  188. [in] VARIANT RequestHandle,
  189. [in] VARIANT Headers,
  190. [in] VARIANT HeadersLength,
  191. [in] VARIANT Modifiers,
  192. [out, retval] VARIANT* Success
  193. );
  194. [
  195. id(DISPID_WINHTTPTEST_SETCREDENTIALS),
  196. helpstring("wraps winhttp5!WinHttpSetCredentials()")
  197. ]
  198. HRESULT WinHttpSetCredentials(
  199. [in] VARIANT RequestHandle,
  200. [in] VARIANT AuthTargets,
  201. [in] VARIANT AuthScheme,
  202. [in] VARIANT UserName,
  203. [in] VARIANT Password,
  204. [in] VARIANT AuthParams,
  205. [out, retval] VARIANT* Success
  206. );
  207. [
  208. id(DISPID_WINHTTPTEST_QUERYAUTHSCHEMES),
  209. helpstring("wraps winhttp5!WinHttpQueryAuthSchemes()")
  210. ]
  211. HRESULT WinHttpQueryAuthSchemes(
  212. [in] VARIANT RequestHandle,
  213. [in] VARIANT SupportedSchemes,
  214. [in] VARIANT PreferredSchemes,
  215. [in] VARIANT AuthTarget,
  216. [out, retval] VARIANT* Success
  217. );
  218. [
  219. id(DISPID_WINHTTPTEST_QUERYHEADERS),
  220. helpstring("wraps winhttp5!WinHttpQueryHeaders()")
  221. ]
  222. HRESULT WinHttpQueryHeaders(
  223. [in] VARIANT RequestHandle,
  224. [in] VARIANT InfoLevel,
  225. [in] VARIANT HeaderName,
  226. [in] VARIANT HeaderValue,
  227. [in] VARIANT HeaderValueLength,
  228. [out, retval] VARIANT* Success
  229. );
  230. [
  231. id(DISPID_WINHTTPTEST_TIMEFROMSYSTEMTIME),
  232. helpstring("wraps winhttp5!WinHttpTimeFromSystemTime()")
  233. ]
  234. HRESULT WinHttpTimeFromSystemTime(
  235. [in] VARIANT SystemTime,
  236. [in] VARIANT boHttpTime,
  237. [out, retval] VARIANT* Success
  238. );
  239. [
  240. id(DISPID_WINHTTPTEST_TIMETOSYSTEMTIME),
  241. helpstring("wraps winhttp5!WinHttpTimeToSystemTime()")
  242. ]
  243. HRESULT WinHttpTimeToSystemTime(
  244. [in] VARIANT boHttpTime,
  245. [in] VARIANT SystemTime,
  246. [out, retval] VARIANT* Success
  247. );
  248. [
  249. id(DISPID_WINHTTPTEST_CRACKURL),
  250. helpstring("wraps winhttp5!WinHttpCrackUrl()")
  251. ]
  252. HRESULT WinHttpCrackUrl(
  253. [in] VARIANT Url,
  254. [in] VARIANT UrlLength,
  255. [in] VARIANT Flags,
  256. [in] VARIANT UrlComponents,
  257. [out, retval] VARIANT* Success
  258. );
  259. //+========================================================================
  260. // NB: WinHttpCreateUrl
  261. //
  262. // The BufferObject parameter replaces the following C API params:
  263. //
  264. // - [out] LPWSTR pwszUrl
  265. // - [in, out] LPDWORD lpdwUrlLength
  266. //-========================================================================
  267. [
  268. id(DISPID_WINHTTPTEST_CREATEURL),
  269. helpstring("wraps winhttp5!WinHttpCreateUrl()")
  270. ]
  271. HRESULT WinHttpCreateUrl(
  272. [in] VARIANT UrlComponents,
  273. [in] VARIANT Flags,
  274. [in] VARIANT BufferObject,
  275. [out, retval] VARIANT* Success
  276. );
  277. [
  278. id(DISPID_WINHTTPTEST_SETSTATUSCALLBACK),
  279. helpstring("wraps winhttp5!WinHttpSetStatusCallback()")
  280. ]
  281. HRESULT WinHttpSetStatusCallback(
  282. [in] VARIANT InternetHandle,
  283. [in] VARIANT CallbackFunction,
  284. [in] VARIANT NotificationFlags,
  285. [in] VARIANT Reserved,
  286. [out, retval] VARIANT* RetVal
  287. );
  288. [
  289. id(DISPID_WINHTTPTEST_HELPER_GETBUFFEROBJECT),
  290. helpstring("creates a BufferObject Object")
  291. ]
  292. HRESULT HelperGetBufferObject(
  293. [in] VARIANT Size,
  294. [in] VARIANT Type,
  295. [in] VARIANT Flags,
  296. [out, retval] VARIANT* BufferObject
  297. );
  298. [
  299. id(DISPID_WINHTTPTEST_HELPER_GETURLCOMPONENTS),
  300. helpstring("creates an UrlComponents Object")
  301. ]
  302. HRESULT HelperGetUrlComponents(
  303. [in] VARIANT Flags,
  304. [out, retval] VARIANT* UrlComponents
  305. );
  306. [
  307. id(DISPID_WINHTTPTEST_HELPER_GETSYSTEMTIME),
  308. helpstring("creates a SystemTime Object")
  309. ]
  310. HRESULT HelperGetSystemTime(
  311. [in] VARIANT Flags,
  312. [out, retval] VARIANT* SystemTime
  313. );
  314. [
  315. id(DISPID_WINHTTPTEST_HELPER_GETLASTERROR),
  316. helpstring("creates a Win32ErrorCode Object")
  317. ]
  318. HRESULT HelperGetLastError(
  319. [out, retval] VARIANT* Win32ErrorCode
  320. );
  321. };
  322. // ======================================================================================
  323. // ================================== IWHTBufferObject ==================================
  324. [
  325. uuid(12384cab-a208-49c2-b411-db6a8788e46d),
  326. object, local, dual,
  327. nonextensible,
  328. helpstring("IWHTBufferObject Interface"),
  329. pointer_default(unique)
  330. ]
  331. interface IWHTBufferObject : IDispatch
  332. {
  333. [
  334. id(DISPID_BUFFEROBJECT_SIZE),
  335. propget,
  336. helpstring("returns the buffer size in terms of the type")
  337. ]
  338. HRESULT Size(
  339. [out, retval] VARIANT* Size
  340. );
  341. [
  342. id(DISPID_BUFFEROBJECT_TYPE),
  343. propget,
  344. helpstring("returns the data type of the buffer")
  345. ]
  346. HRESULT Type(
  347. [out, retval] VARIANT* Type
  348. );
  349. [
  350. id(DISPID_BUFFEROBJECT_BYTESTRANSFERRED),
  351. propget,
  352. helpstring("returns the number of bytes transferred in the last i/o operation")
  353. ]
  354. HRESULT BytesTransferred(
  355. [out, retval] VARIANT* BytesTransferred
  356. );
  357. [
  358. id(DISPID_BUFFEROBJECT_FLAGS),
  359. propget,
  360. helpstring("returns the creation flags for the buffer object")
  361. ]
  362. HRESULT Flags(
  363. [out, retval] VARIANT* Flags
  364. );
  365. };
  366. // ======================================================================================
  367. // ================================= IWHTUrlComponents ==================================
  368. [
  369. uuid(e4b8fede-7ab8-4478-a805-492f0d86fd6d),
  370. object, local, dual,
  371. nonextensible,
  372. helpstring("IWHTUrlComponents Interface"),
  373. pointer_default(unique)
  374. ]
  375. interface IWHTUrlComponents : IDispatch
  376. {
  377. [
  378. id(DISPID_URLCOMPONENTS_STRUCTSIZE),
  379. propget,
  380. helpstring("gets the size of the structure")
  381. ]
  382. HRESULT StructSize(
  383. [out, retval] VARIANT* Value
  384. );
  385. [
  386. id(DISPID_URLCOMPONENTS_STRUCTSIZE),
  387. propput,
  388. helpstring("sets the size of the structure")
  389. ]
  390. HRESULT StructSize(
  391. [in] VARIANT Value
  392. );
  393. [
  394. id(DISPID_URLCOMPONENTS_SCHEME),
  395. propget,
  396. helpstring("gets the url scheme")
  397. ]
  398. HRESULT Scheme(
  399. [out, retval] VARIANT* Value
  400. );
  401. [
  402. id(DISPID_URLCOMPONENTS_SCHEME),
  403. propput,
  404. helpstring("sets the url scheme")
  405. ]
  406. HRESULT Scheme(
  407. [in] VARIANT Value
  408. );
  409. [
  410. id(DISPID_URLCOMPONENTS_SCHEMELENGTH),
  411. propget,
  412. helpstring("gets the scheme length")
  413. ]
  414. HRESULT SchemeLength(
  415. [out, retval] VARIANT* Length
  416. );
  417. [
  418. id(DISPID_URLCOMPONENTS_SCHEMELENGTH),
  419. propput,
  420. helpstring("sets the scheme length")
  421. ]
  422. HRESULT SchemeLength(
  423. [in] VARIANT Length
  424. );
  425. [
  426. id(DISPID_URLCOMPONENTS_SCHEMEID),
  427. propget,
  428. helpstring("gets the scheme id")
  429. ]
  430. HRESULT SchemeId(
  431. [out, retval] VARIANT* Value
  432. );
  433. [
  434. id(DISPID_URLCOMPONENTS_SCHEMEID),
  435. propput,
  436. helpstring("sets the scheme id")
  437. ]
  438. HRESULT SchemeId(
  439. [in] VARIANT Value
  440. );
  441. [
  442. id(DISPID_URLCOMPONENTS_HOSTNAME),
  443. propget,
  444. helpstring("gets the host name")
  445. ]
  446. HRESULT HostName(
  447. [out, retval] VARIANT* Value
  448. );
  449. [
  450. id(DISPID_URLCOMPONENTS_HOSTNAME),
  451. propput,
  452. helpstring("sets the host name")
  453. ]
  454. HRESULT HostName(
  455. [in] VARIANT Value
  456. );
  457. [
  458. id(DISPID_URLCOMPONENTS_HOSTNAMELENGTH),
  459. propget,
  460. helpstring("gets the hostname length")
  461. ]
  462. HRESULT HostNameLength(
  463. [out, retval] VARIANT* Length
  464. );
  465. [
  466. id(DISPID_URLCOMPONENTS_HOSTNAMELENGTH),
  467. propput,
  468. helpstring("sets the hostname length")
  469. ]
  470. HRESULT HostNameLength(
  471. [in] VARIANT Length
  472. );
  473. [
  474. id(DISPID_URLCOMPONENTS_PORT),
  475. propget,
  476. helpstring("gets the port value")
  477. ]
  478. HRESULT Port(
  479. [out, retval] VARIANT* Value
  480. );
  481. [
  482. id(DISPID_URLCOMPONENTS_PORT),
  483. propput,
  484. helpstring("sets the port value")
  485. ]
  486. HRESULT Port(
  487. [in] VARIANT Value
  488. );
  489. [
  490. id(DISPID_URLCOMPONENTS_USERNAME),
  491. propget,
  492. helpstring("gets the username")
  493. ]
  494. HRESULT UserName(
  495. [out, retval] VARIANT* Value
  496. );
  497. [
  498. id(DISPID_URLCOMPONENTS_USERNAME),
  499. propput,
  500. helpstring("sets the username")
  501. ]
  502. HRESULT UserName(
  503. [in] VARIANT Value
  504. );
  505. [
  506. id(DISPID_URLCOMPONENTS_USERNAMELENGTH),
  507. propget,
  508. helpstring("gets the username length")
  509. ]
  510. HRESULT UserNameLength(
  511. [out, retval] VARIANT* Value
  512. );
  513. [
  514. id(DISPID_URLCOMPONENTS_USERNAMELENGTH),
  515. propput,
  516. helpstring("sets the username length")
  517. ]
  518. HRESULT UserNameLength(
  519. [in] VARIANT Value
  520. );
  521. [
  522. id(DISPID_URLCOMPONENTS_PASSWORD),
  523. propget,
  524. helpstring("gets the password")
  525. ]
  526. HRESULT Password(
  527. [out, retval] VARIANT* Value
  528. );
  529. [
  530. id(DISPID_URLCOMPONENTS_PASSWORD),
  531. propput,
  532. helpstring("sets the password")
  533. ]
  534. HRESULT Password(
  535. [in] VARIANT Value
  536. );
  537. [
  538. id(DISPID_URLCOMPONENTS_PASSWORDLENGTH),
  539. propget,
  540. helpstring("gets the password length")
  541. ]
  542. HRESULT PasswordLength(
  543. [out, retval] VARIANT* Length
  544. );
  545. [
  546. id(DISPID_URLCOMPONENTS_PASSWORDLENGTH),
  547. propput,
  548. helpstring("sets the password length")
  549. ]
  550. HRESULT PasswordLength(
  551. [in] VARIANT Length
  552. );
  553. [
  554. id(DISPID_URLCOMPONENTS_URLPATH),
  555. propget,
  556. helpstring("gets the url path")
  557. ]
  558. HRESULT UrlPath(
  559. [out, retval] VARIANT* Value
  560. );
  561. [
  562. id(DISPID_URLCOMPONENTS_URLPATH),
  563. propput,
  564. helpstring("sets the url path")
  565. ]
  566. HRESULT UrlPath(
  567. [in] VARIANT Value
  568. );
  569. [
  570. id(DISPID_URLCOMPONENTS_URLPATHLENGTH),
  571. propget,
  572. helpstring("gets the url path length")
  573. ]
  574. HRESULT UrlPathLength(
  575. [out, retval] VARIANT* Length
  576. );
  577. [
  578. id(DISPID_URLCOMPONENTS_URLPATHLENGTH),
  579. propput,
  580. helpstring("sets the url path length")
  581. ]
  582. HRESULT UrlPathLength(
  583. [in] VARIANT Length
  584. );
  585. [
  586. id(DISPID_URLCOMPONENTS_EXTRAINFO),
  587. propget,
  588. helpstring("gets the extra information")
  589. ]
  590. HRESULT ExtraInfo(
  591. [out, retval] VARIANT* Value
  592. );
  593. [
  594. id(DISPID_URLCOMPONENTS_EXTRAINFO),
  595. propput,
  596. helpstring("sets the extra info")
  597. ]
  598. HRESULT ExtraInfo(
  599. [in] VARIANT Value
  600. );
  601. [
  602. id(DISPID_URLCOMPONENTS_EXTRAINFOLENGTH),
  603. propget,
  604. helpstring("gets the extra info length")
  605. ]
  606. HRESULT ExtraInfoLength(
  607. [out, retval] VARIANT* Length
  608. );
  609. [
  610. id(DISPID_URLCOMPONENTS_EXTRAINFOLENGTH),
  611. propput,
  612. helpstring("sets the extra info length")
  613. ]
  614. HRESULT ExtraInfoLength(
  615. [in] VARIANT Length
  616. );
  617. //
  618. // TODO
  619. //
  620. // 1. stub in a property for each part of the urlcomp struct
  621. //
  622. // - every DWORD represents a buffer length
  623. // - every LPWSTR is a buffer
  624. //
  625. // rather than use a bufferobject for each pair, instead use
  626. // boolean values to figure out what to do.
  627. //
  628. // if dword == 0 && wstr == 0, crack: not returned; create: not required
  629. // != 0 && wstr == 0, crack: both returned, api allocs; create: undefined
  630. // != 0 && wstr != 0, crack: user allocs; create: data & length supplied
  631. // == 0 && wstr != 0, crack: undefined; create: data supplied, api figure out length
  632. //
  633. };
  634. // ======================================================================================
  635. // =================================== IWHTSystemTime ===================================
  636. [
  637. uuid(e71d43a4-451e-496b-98e5-3dc548eabe7a),
  638. object, local, dual,
  639. nonextensible,
  640. helpstring("IWHTSystemTime Interface"),
  641. pointer_default(unique)
  642. ]
  643. interface IWHTSystemTime : IDispatch
  644. {
  645. [
  646. id(DISPID_SYSTEMTIME_YEAR),
  647. propget,
  648. helpstring("gets the current year")
  649. ]
  650. HRESULT Year(
  651. [out, retval] VARIANT* Value
  652. );
  653. [
  654. id(DISPID_SYSTEMTIME_YEAR),
  655. propput,
  656. helpstring("sets the current year")
  657. ]
  658. HRESULT Year(
  659. [in] VARIANT Value
  660. );
  661. [
  662. id(DISPID_SYSTEMTIME_MONTH),
  663. propget,
  664. helpstring("gets the current month")
  665. ]
  666. HRESULT Month(
  667. [out, retval] VARIANT* Value
  668. );
  669. [
  670. id(DISPID_SYSTEMTIME_MONTH),
  671. propput,
  672. helpstring("sets the current month")
  673. ]
  674. HRESULT Month(
  675. [in] VARIANT Value
  676. );
  677. [
  678. id(DISPID_SYSTEMTIME_DAYOFWEEK),
  679. propget,
  680. helpstring("gets the day of the week")
  681. ]
  682. HRESULT DayOfWeek(
  683. [out, retval] VARIANT* Value
  684. );
  685. [
  686. id(DISPID_SYSTEMTIME_DAYOFWEEK),
  687. propput,
  688. helpstring("sets the day of the week")
  689. ]
  690. HRESULT DayOfWeek(
  691. [in] VARIANT Value
  692. );
  693. [
  694. id(DISPID_SYSTEMTIME_DAY),
  695. propget,
  696. helpstring("gets the current day of the month")
  697. ]
  698. HRESULT Day(
  699. [out, retval] VARIANT* Value
  700. );
  701. [
  702. id(DISPID_SYSTEMTIME_DAY),
  703. propput,
  704. helpstring("sets the current day of the month")
  705. ]
  706. HRESULT Day(
  707. [in] VARIANT Value
  708. );
  709. [
  710. id(DISPID_SYSTEMTIME_HOUR),
  711. propget,
  712. helpstring("gets the current hour")
  713. ]
  714. HRESULT Hour(
  715. [out, retval] VARIANT* Value
  716. );
  717. [
  718. id(DISPID_SYSTEMTIME_HOUR),
  719. propput,
  720. helpstring("sets the current hour")
  721. ]
  722. HRESULT Hour(
  723. [in] VARIANT Value
  724. );
  725. [
  726. id(DISPID_SYSTEMTIME_MINUTE),
  727. propget,
  728. helpstring("gets the current minute")
  729. ]
  730. HRESULT Minute(
  731. [out, retval] VARIANT* Value
  732. );
  733. [
  734. id(DISPID_SYSTEMTIME_MINUTE),
  735. propput,
  736. helpstring("sets the current minute")
  737. ]
  738. HRESULT Minute(
  739. [in] VARIANT Value
  740. );
  741. [
  742. id(DISPID_SYSTEMTIME_SECOND),
  743. propget,
  744. helpstring("gets the current second")
  745. ]
  746. HRESULT Second(
  747. [out, retval] VARIANT* Value
  748. );
  749. [
  750. id(DISPID_SYSTEMTIME_SECOND),
  751. propput,
  752. helpstring("sets the current second")
  753. ]
  754. HRESULT Second(
  755. [in] VARIANT Value
  756. );
  757. [
  758. id(DISPID_SYSTEMTIME_MSEC),
  759. propget,
  760. helpstring("gets the current millisecond")
  761. ]
  762. HRESULT MSec(
  763. [out, retval] VARIANT* Value
  764. );
  765. [
  766. id(DISPID_SYSTEMTIME_MSEC),
  767. propput,
  768. helpstring("sets the current millisecond")
  769. ]
  770. HRESULT MSec(
  771. [in] VARIANT Value
  772. );
  773. };
  774. // ======================================================================================
  775. // ================================= IWHTWin32ErrorCode =================================
  776. [
  777. uuid(564782a9-38db-4039-8888-f8c7576fbec5),
  778. object, local, dual,
  779. nonextensible,
  780. helpstring("IWHTWin32ErrorCode Interface"),
  781. pointer_default(unique)
  782. ]
  783. interface IWHTWin32ErrorCode : IDispatch
  784. {
  785. [
  786. id(DISPID_WIN32ERRORCODE_ERRORCODE),
  787. propget,
  788. helpstring("returns the numeric Win32 error status.")
  789. ]
  790. HRESULT ErrorCode(
  791. [out, retval] VARIANT* ErrorCode
  792. );
  793. [
  794. id(DISPID_WIN32ERRORCODE_ERRORSTRING),
  795. propget,
  796. helpstring("returns the stringized Win32 error status.")
  797. ]
  798. HRESULT ErrorString(
  799. [out, retval] VARIANT* ErrorString
  800. );
  801. [
  802. id(DISPID_WIN32ERRORCODE_ISEXCEPTION),
  803. propget,
  804. helpstring("indicates whether the error is an exception.")
  805. ]
  806. HRESULT IsException(
  807. [out, retval] VARIANT* IsException
  808. );
  809. };
  810. // ======================================================================================
  811. // ===================================== coclasses ======================================
  812. [
  813. uuid(9c7ef150-62a0-46ce-9e15-86a20a6c129a),
  814. helpstring("WinHTTPTest class.")
  815. ]
  816. coclass WinHttpTest
  817. {
  818. [default] interface IWinHttpTest;
  819. };
  820. [
  821. uuid(d8c8a76a-14b2-40dd-9847-ecb302e2f57f),
  822. hidden,
  823. helpstring("WHTUrlComponents class.")
  824. ]
  825. coclass WHTUrlComponents
  826. {
  827. [default] interface IWHTUrlComponents;
  828. };
  829. [
  830. uuid(465922de-2ba5-4e98-8c99-f26a3c169aa3),
  831. hidden,
  832. helpstring("WHTWin32ErrorCode class.")
  833. ]
  834. coclass WHTWin32ErrorCode
  835. {
  836. [default] interface IWHTWin32ErrorCode;
  837. };
  838. // ======================================================================================
  839. }