B.2.2  STREAMS Driver and Module Registration Functions

STREAMS transport drivers and modules are compiled into NT drivers which are not linked into the kernel or the STREAMS binaries. They register their streamtab structure and other information needed by STREAMS by use of the following functions, detailed in the paragraphs below:

·StrmRegisterDriver

·StrmRegisterModule

StrmRegisterDriver

The function StrmRegisterDriver registers a STREAMS driver with Windows NT.

NTSTATUS

StrmRegisterDriver(

    IN PDRIVER_OBJECT driverobject,

    IN struct streamtab *ptr,

    IN char *subsystem OPTIONAL,

    IN PSTREAMS_TDI_INFO ptdiinfo OPTIONAL

    );

 

Parameters

driverobject

Points to Windows NT driver object that contains the STREAMS driver.

ptr

Points to relevant STREAMS information.

subsystem

Optionally points to subsystem name, or NULL if stack is fully parallel.

ptdiinfo

Optionally points to information about driver for TDI.

StrmRegisterModule

The function StrmRegisterModule registers a STREAMS module with Windows NT.

NTSTATUS

StrmRegisterModule(

    IN PDRIVER_OBJECT driverobject,

    IN struct streamtab *ptr,

    IN char *subsystem OPTIONAL

    );

 

Parameters

driverobject

Points to Windows NT driver object that contains the STREAMS module.

ptr

Points to relevant STREAMS information.

subsystem

Optionally points to subsystem name, or NULL if stack is fully parallel.