microsoft / microsoft/win32metadata

Add InvalidHandleValue metadata for REGHANDLE

Open
#2,027 3 comments 0 reactions 1 assignee Claimed by @riverar View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.