Posted to tcl by apn at Wed Aug 21 16:43:04 GMT 2013view raw

  1. test define_dispatch_prototype-1.0 {
  2. Basic test for define_dispatch_prototype
  3. } -setup {
  4. package require twapi_wmi
  5. set wmi [twapi::wmi_root]
  6. set pobjs [$wmi ExecQuery "select * from Win32_process where ProcessId='[pid]'"]
  7. $pobjs -iterate pobj {
  8. break
  9. }
  10. set prototype "func [$pobj -dispid GetOwner] ui4 GetOwner (\[out\] bstr user, \[out\] bstr domain )"
  11. } -cleanup {
  12. $wmi -destroy
  13. $pobjs -destroy
  14. $pobj -destroy
  15. } -body {
  16. twapi::define_dispatch_prototypes {{269AD56A-8A67-4129-BC8C-0506DCFE9880}} $prototype
  17. $pobj GetOwner user domain
  18. list [twapi::variant_value $user] [twapi::variant_value $domain]
  19. } -result [list $::env(USERNAME) $::env(USERDOMAIN)]
  20.