Skip to content

"Illegal" use of RegNotifyChangeKeyValue on WINAPI_PARTITION_GAMES platforms #4624

@redbaron

Description

@redbaron

Describe the bug

GAMECORE builds, a.k.a. GDK, a.k.a. WINAPI_PARTITION_GAMES don't normally have access to RegNotifyChangeKeyValue function:

  • it is not defined in winreg.h for GAMES API family
  • this symbol is not provided by GDK's xgameplatform.lib

Currently msquic cheats by:

  • extern defining this function circumventing WINAPI_FAMILY_PARTITION guards in winreg.h
  • linking to advapi32.lib even though this lib is in /NODEFAULTLIB list in GDK samples.

I believe GDK titles are not supposed to link to any regular windows libs, except those provided by GDK itself. As a result msquic essentially uses undocumented function in GAMECORE build. If correct, then this can likely affect game consoles certification of any product bundling msquic as a dependency.

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

GDK builds

MsQuic version

main

Steps taken to reproduce bug

Expected behavior

Actual outcome

Additional details

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions