github.com/Serizao/go-winio@v0.0.0-20230906082528-f02f7f4ad6e8/tools/etw-provider-gen/main_windows.go (about) 1 //go:build windows 2 // +build windows 3 4 package main 5 6 import ( 7 "flag" 8 "fmt" 9 "os" 10 11 "github.com/Serizao/go-winio/pkg/etw" 12 ) 13 14 func main() { 15 var pn = flag.String("provider-name", "", "The human readable ETW provider name to be converted into GUID format") 16 flag.Parse() 17 if pn == nil || *pn == "" { 18 fmt.Fprint(os.Stderr, "--provider-name is required") 19 os.Exit(1) 20 } 21 p, err := etw.NewProvider(*pn, nil) 22 if err != nil { 23 fmt.Fprintf(os.Stderr, "failed to convert provider-name: '%s' with err: '%s", *pn, err) 24 os.Exit(1) 25 } 26 defer p.Close() 27 fmt.Fprintf(os.Stdout, "%s", p) 28 }