We would like to inform you that CoolDev.Com prepared all new package you may be interested in. The package's name is KoolSockets and it is not ordinary Delphi VCL library.
KoolSockets is WindowsNT/Windows2K kernel sockets library.This is sort of the dynamic link library but running at KernelMode. This driver will export own API like KsockCreate, KsockClose, KsockConnect etc that will be ideologically close to the standard "socket" API
The following are advantages and pluses programmers may get by using the KoolSockets:
Technical Information and Advantages of the Package.
- Instead of the using complicated TDI client user can simplify the development process by using this API. This will dramatically decrease development time and make the code more bullet-proof as all the critical code was debugged/tested before. In addition just user part of the driver will be much smaller.
- Pure kernel code runs much faster and results less latency because:
Standard network programming model
Ksock network programming model
Any network component (like COM object, RPC call whatever) -> some way of using socket API from the ws2_32.dll -> ntdll.dll (used as the call gate between UserMode and KernelMode) -> KernelMode IFS helper that acts as TDI client and provides own undecorated API -> TCPIP.SYS or any other ransport
Driver that acts as Ksock client (imports Ksock API) -> Ksock export driver that acts as TDI client and exports fully documented Ksock API -> TCPIP.SYS or any other transport
- Ksock API does support very valuable features that standard sockets lack - timeouts. This means send() or recv() call that is blocking by it's nature can unblock itself after some amount of the time (provided by user) will elapse. All the TDI client drivers that can be found/bough in the Internet do not provide timeouts!!! And I/O request cancellation in case of using TCPIP.SYS is not a trivial task at all.
- TDI client code for Windows 9X/ME and Windows NT/2K is similar but different. In the same time KoolSoockets code can be done the same. This means porting/parallel developing for both Windows platforms can be extremely easy.
- Easy-to-use driver to UserMode application communications mechanism (if somebody want to decode MP3 files in the driver for example and needs to pass the work for UserMode part).
- Easy-to-use driver to remote machine communication mechanism (raw TDI is way to complicated and poorly documented).
What software development areas KoolSockets can be used in.
- "Storage over IP" solutions.
- Network file systems and network redirectors.
- Virtual network adapters (for own encryption, tunelling etc).
- Accelerated network software & embedded network software (like very fast HTTP server running on Windows CE box).
- Easy-to-use driver to driver communicaton mechanism (no use to invent own one).
- Any driver that needs to pass work to UserMode code running on the local or remote machine.
- Any driver that wants to use TCP or UDP.
KsockUmh (Ksock UserMode Helper) is KernelMode device driver
that acts as Ksock.sys client (imports KernelMode serives exported by
Ksock.sys) and provides wrapping of them via DeviceIoControl() entry.
KsockDLL is UserMode DLL that acts as wrapper (wraps it's exported to
UserMode apps entries to KsockUmh DeviceIoContol() calls).
You may download the beta of the both packages from the following location:
The following included:
Your feedback is very important for us and your opinion will determine our upcoming changes and improvements.
- Kernel sockets driver (ksock.sys).
- Generic storage driver (MiniGun.sys)
- KsockUmh (Ksock UserMode Helper)
- The utilities that enable you to prepare mount / unmount and work with the virtual drives. This is sort of the demonstration how both packages work.
- The very basic documentation also included (we do know that the well thought and prepared documentation is very important for the customers and testers so documentation will be improved shortly). HowTo.doc defines the way to install and make software work.
If you are interested in the product and would like to know more about it please contact
us at firstname.lastname@example.org.
If you would like to be informed about the KoolSockets news, project progress, special offers and such please subscribe to the KoolSockets mailing list. To subscribe do send empty e-mail message with the word SUBSCRIBE in subject at the email@example.com. Note you can unsubscribe any time later by sending the e-mail at same address with the word UNSUBSCRIBE in subject.