ПК
SomeType foo({ .param3Name = true, .param5Name = false });Size: a a a
ПК
SomeType foo({ .param3Name = true, .param5Name = false });R
SomeType foo({ .param3Name = true, .param5Name = false });ПК
R
O
TrafficLight(int red_pin = 16, int yellow_pin = 5, int green_pin = 4, int speaker_pin = 0, int sound=0)
Задача - передать только один кварг : TrafficLight traffic_light = TrafficLight(speaker_pin=7);operator=U
AE
ПН
Н
VS
Н
K
VS
AS
VS
D
shared_ptr с объектом EventLock, который ставит KEVENT в сигнальное состояние в конструкторе и возвращает в нормальное в деструктореKEVENT, думаю, понятно - с мьютексом после ret из DriverEntry получим приветствие на синем экранеshared_ptr и в каждой процедуре, которую нужно синхронизировать с выгрузкой, делаем его копию.Unload будет выглядеть так:shared_sync.reset(); // Сброс "лишней" единички в счётчике
KeWaitForSingleObject(my_event...)
CD
shared_ptr с объектом EventLock, который ставит KEVENT в сигнальное состояние в конструкторе и возвращает в нормальное в деструктореKEVENT, думаю, понятно - с мьютексом после ret из DriverEntry получим приветствие на синем экранеshared_ptr и в каждой процедуре, которую нужно синхронизировать с выгрузкой, делаем его копию.Unload будет выглядеть так:shared_sync.reset(); // Сброс "лишней" единички в счётчике
KeWaitForSingleObject(my_event...)
D