eventdatadescriptor.go 607 B

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