Question about IoBuildDeviceIoControlRequest ; Please Ignore the first message uncompleted

Hi all,

I have a little doubt about IoBuildDeviceIoControl Request .

In DDK documentation , it says

"IRPs created using IoBuildDeviceIoControlRequest must be completed by
calling IoCompleteRequest and not by merely deallocating the IRP with
IoFreeIrp. "

But when I checked the sample code in DDK , none of the samples either frees
the IRP or completes the IRP .

In DDK documentation , it says

“IoBuildDeviceIoControlRequest queues the IRPs it creates in the IRP queue
of the current thread.”

Is that means the current thread completes the IRP and releases the memory ?

Thanks
srinivasa