Creates a new configuration.
typedef
_IRQL_requires_max_(PASSIVE_LEVEL)
QUIC_STATUS
(QUIC_API * QUIC_CONFIGURATION_OPEN_FN)(
_In_ _Pre_defensive_ HQUIC Registration,
_In_reads_(AlpnBufferCount) _Pre_defensive_
const QUIC_BUFFER* const AlpnBuffers,
_In_range_(>, 0) uint32_t AlpnBufferCount,
_In_reads_bytes_opt_(SettingsSize)
const QUIC_SETTINGS* Settings,
_In_ uint32_t SettingsSize,
_In_opt_ void* Context,
_Outptr_ _At_(*Configuration, __drv_allocatesMem(Mem)) _Pre_defensive_
HQUIC* Configuration
);
Registration
The valid handle to an open registration object.
AlpnBuffers
An array of QUIC_BUFFER
structs that each contain a pointer and length to a different Application Layer Protocol Negotiation (ALPN) buffer.
AlpnBufferCount
The number of QUIC_BUFFER
structs in the AlpnBuffers
array.
Settings
An optional pointer to a QUIC_SETTINGS struct that defines the initial parameters for this configuration.
SettingSize
The size (in bytes) of the Settings
parameter.
Context
The application context pointer (possibly null) to be associated with the configuration object.
Configuration
On success, returns a handle to the newly opened configuration object.
The function returns a QUIC_STATUS. The app may use QUIC_FAILED
or QUIC_SUCCEEDED
to determine if the function failed or succeeded.
On success, ConfigurationOpen
creates a new configuration object. A configuration object abstracts all connection settings and security configuration.
Once the configuration is loaded (via ConfigurationLoadCredential) it can be used for a connection; ConnectionStart on client; ConnectionSetConfiguration on server.
The configuration must be cleaned up via ConfigurationClose when the application is done with it.
ConfigurationClose
ConfigurationLoadCredential
ConnectionSetConfiguration
ConnectionStart