Is there a documented way of performing a DNS lookup in VxD-land? Windows 98 provides TCP/IP-32 VxD that mimics the function of the Windows NT/2000 TDI, however this interface usually works with IP addresses. Performing a DNS lookup is fairly trivial in ring-3, however the WSOCK VxD layer does not seem to be be documented.

  • 3
    It's a quarter century since I wrote kernel-mode TCP/IP "applications" (at the time I wrote a kernel sockets implementation on top of TDI), but I think the DNS client is a user-mode library. If I am right, you're out of luck. May 15 at 1:43
  • 2
    What is your actual goal? Can you not perform DNS lookup in user mode and pass the result to the driver? May 15 at 9:38
  • Well if you want to use it as part of a IFS-based port driver to say provide a network based file-system the DNS lookup would have to happen in the kernel code. May 15 at 13:58
  • I'm unfamiliar with programming in VXD-land, but... kernel code making an upcall to a userspace service wouldn't be unusual at all in other operating systems (such as how AFS uses a userspace "cache manager" daemon that handles DNS requests on behalf of the kernel driver).
    – user1686
    May 16 at 9:17
  • User-mode is still giving you the network system to connect to; I don't see why DNS can't be handled in that layer, before going up to the VxD itself. (Send the host name as well if you need it for something like SNI.). That said, DNS is a fairly simple protocol, so I suppose you could just perform the DNS query yourself if you have an IP stack.
    – A. Wilcox
    Nov 22 at 6:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.