Make .NET and Kernel mode happy

This commit is contained in:
Nick Banks 2024-10-16 09:04:36 -04:00
Родитель 448184f827
Коммит 442c928a53
2 изменённых файлов: 39 добавлений и 1 удалений

Просмотреть файл

@ -234,6 +234,37 @@ namespace Microsoft.Quic
internal fixed ushort ProcessorList[1];
}
internal unsafe partial struct QUIC_EXECUTION_CONTEXT_CONFIG
{
[NativeTypeName("uint32_t")]
internal uint IdealProcessor;
[NativeTypeName("uint32_t")]
internal uint PollingIdleTimeoutUs;
[NativeTypeName("QUIC_EVENTQ *")]
internal void** EventQ;
}
internal partial struct QUIC_EXECUTION_CONTEXT
{
}
internal unsafe partial struct QUIC_EXECUTION_TABLE
{
[NativeTypeName("QUIC_EXECUTION_CREATE_FN")]
internal delegate* unmanaged[Cdecl]<QUIC_EXECUTION_CONFIG_FLAGS, uint, QUIC_EXECUTION_CONTEXT_CONFIG*, QUIC_EXECUTION_CONTEXT**, int> ExecutionCreate;
[NativeTypeName("QUIC_EXECUTION_DELETE_FN")]
internal delegate* unmanaged[Cdecl]<uint, QUIC_EXECUTION_CONTEXT**, void> ExecutionDelete;
[NativeTypeName("QUIC_EXECUTION_POLL_FN")]
internal delegate* unmanaged[Cdecl]<QUIC_EXECUTION_CONTEXT*, uint> Poll;
[NativeTypeName("QUIC_EXECUTION_PROCESS_CQE_FN")]
internal delegate* unmanaged[Cdecl]<QUIC_EXECUTION_CONTEXT*, _OVERLAPPED_ENTRY*, uint, uint> ProcessCqe;
}
internal unsafe partial struct QUIC_REGISTRATION_CONFIG
{
[NativeTypeName("const char *")]
@ -3345,6 +3376,9 @@ namespace Microsoft.Quic
[NativeTypeName("#define QUIC_PARAM_GLOBAL_STATELESS_RESET_KEY 0x0100000B")]
internal const uint QUIC_PARAM_GLOBAL_STATELESS_RESET_KEY = 0x0100000B;
[NativeTypeName("#define QUIC_PARAM_GLOBAL_EXECUTION_TABLE 0x0100000C")]
internal const uint QUIC_PARAM_GLOBAL_EXECUTION_TABLE = 0x0100000C;
[NativeTypeName("#define QUIC_PARAM_CONFIGURATION_SETTINGS 0x03000000")]
internal const uint QUIC_PARAM_CONFIGURATION_SETTINGS = 0x03000000;

Просмотреть файл

@ -293,6 +293,8 @@ typedef struct QUIC_EXECUTION_CONFIG {
#define QUIC_EXECUTION_CONFIG_MIN_SIZE \
(uint32_t)FIELD_OFFSET(QUIC_EXECUTION_CONFIG, ProcessorList)
#ifndef _KERNEL_MODE
//
// Execution Context abstraction, which allows the application layer to
// completely control execution of all MsQuic work.
@ -367,7 +369,9 @@ typedef struct QUIC_EXECUTION_TABLE {
} QUIC_EXECUTION_TABLE;
#endif
#endif // _KERNEL_MODE
#endif // QUIC_API_ENABLE_PREVIEW_FEATURES
typedef struct QUIC_REGISTRATION_CONFIG { // All fields may be NULL/zero.
const char* AppName;