eventdatadescriptor.go 622 B

12345678910111213141516171819202122232425262728293031
  1. //go:build windows
  2. package etw
  3. import (
  4. "unsafe"
  5. )
  6. type eventDataDescriptorType uint8
  7. const (
  8. eventDataDescriptorTypeUserData eventDataDescriptorType = iota
  9. eventDataDescriptorTypeEventMetadata
  10. eventDataDescriptorTypeProviderMetadata
  11. )
  12. type eventDataDescriptor struct {
  13. ptr ptr64
  14. size uint32
  15. dataType eventDataDescriptorType
  16. _ uint8
  17. _ uint16
  18. }
  19. func newEventDataDescriptor(dataType eventDataDescriptorType, buffer []byte) eventDataDescriptor {
  20. return eventDataDescriptor{
  21. ptr: ptr64{ptr: unsafe.Pointer(&buffer[0])},
  22. size: uint32(len(buffer)),
  23. dataType: dataType,
  24. }
  25. }