microsoft / microsoft/win32metadata
Add InvalidHandleValue metadata for REGHANDLE
- Dominant language
- C++
- Stars
- 1.5k
- Forks
- 149
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 4
Description
From `evtprov.h`:
```
/*
A REGHANDLE represents an event provider session.
A REGHANDLE is opened with EventRegister and closed with EventUnregister.
*/
typedef ULONGLONG REGHANDLE, *PREGHANDLE;
```
From docs:
> If EventRegister fails, it returns a zero-valued RegHandle. ETW APIs such as EventWrite and EventUnregister will safely accept a zero-valued RegHandle value, do nothing, and return immediately. Callers do not need to check for a zero-valued RegHandle before calling EventWrite or EventUnregister.
Suggested fixes:
1. Add `[InvalidHandleValue(0)]`
2. Add metadata test to fail if IHV metadata is missing from RAIIFree marked types.
_Originally posted by @kennykerr in [#1891](https://github.com/microsoft/win32metadata/issues/1891#issuecomment-2501668306)_
Contributor guide
Assessment
This issue has not been assessed yet.