Thank you so much for such a quick answer

.
To be more precise I am working on a VRRP protocol driver, this is the network layer, no sockets, TCP, UDP and so on. Simply, IGMP and VRRP messages inside the IP packets.
WSK will not be of help, because it operates over sockets, which means a different, transport layer.
The thing I meant was the IP encapsulation (adding IP packet header), I have thought I can just bind to TCP/IP stack (or use some IOCTL-s) to add IP headers and so on to my messages.
If you say that the only way is to use WSK I will probably have to implement my own tcpip stack. WSK forces to use sockets for TCP/UDP connections. I must not use them.
I am not sure if doing the whole encapsulation (IP header, ETH header) on my own, outside the Windows TCP/IP stack, is an appropriate approach to driver development.