When a Windows NT driver is loaded, its DriverEntry routine is called. For each Windows NT driver containing a STREAMS stack, its DriverEntry routine must:
STREAMS stacks that implement NetBIOS providers require more work, as described in Section B.8.4.
Example: DriverEntry Routine for tcpip.sys from Windows NT 3.1
#include <ntddk.h> #include <stream.h> extern struct streamtab arpinfo; extern struct streamtab tcpinfo; extern int arpinit(void); extern int tcpinit(void); NTSTATUS DriverEntry( IN PDRIVER_OBJECT driver, IN PUNICODE_STRING device ) { NTSTATUS status; status = StrmRegisterModule(driver, &arpinfo, NULL); if (status != STATUS_SUCCESS) { return(status); } status = StrmRegisterDriver(driver, &tcpinfo, NULL, NULL); if (status != STATUS_SUCCESS) { return(status); } arpinit(); tcpinit(); return(STATUS_SUCCESS); }