KNSoft.Quic packages MsQuic:
- Provides
/MTand/MDDLLs, regular and LTCG static libraries, and bundled PGO profiles for Windows - Exposes function-table entries for direct calls
- Integrates with Visual Studio through NuGet
Install KNSoft.Quic, then select Configuration Properties > KNSoft.Quic > Integration Mode.
| Mode | Artifact |
|---|---|
| DLL MT | /MT DLL |
| DLL MD | /MD DLL |
| Static | Static library |
| Static LTCG | LTCG static library |
| Static LTCG + Bundled PGO | LTCG library with bundled PGO |
| Manual | None; adds the library search path |
| None | None |
#include <KNSoft.Quic.h>
const QUIC_API_TABLE* Api;
QUIC_STATUS Status = MsQuicOpenVersion(QUIC_API_VERSION_2, (const void**)&Api);
if (QUIC_SUCCEEDED(Status)) {
MsQuicClose(Api);
}QUIC_STATUS Status = KNSoftQuicInitialize();
if (QUIC_SUCCEEDED(Status)) {
const QUIC_REGISTRATION_CONFIG Config = {
"Application",
QUIC_EXECUTION_PROFILE_LOW_LATENCY
};
HQUIC Registration;
Status = MsQuicRegistrationOpen(&Config, &Registration);
if (QUIC_SUCCEEDED(Status)) {
MsQuicRegistrationClose(Registration);
}
KNSoftQuicUninitialize();
}Windows user mode with Schannel. x86, x64, ARM64, and ARM64EC. LTCG builds require the matching MSVC toolset generation.
Profiles are trained with SecNetPerf using local and emulated-network scenarios defined in Training.json. Results and validation data are recorded in each platform's manifest.json under PGO.
.\PGO\Build-SecNetPerf.ps1
.\PGO\Train.ps1KNSoft.Quic is licensed under the MIT License. It incorporates MsQuic, also licensed under the MIT License.