Chapter 4 TdiBuildXxx Macros and Functions
This describes the system-supplied TdiBuildXxx macros, used by kernel-mode clients to set up the TDI_XXX internal device control IRPs they subsequently submit to underlying TDI transport drivers with IoCallDriver.
Parameters to these macros always include pointers or handles to file objects representing addresses, connection endpoints, or control channels already opened with calls to ZwCreateFile. A successful call to ZwCreateFile returns a handle to an open file object, from which the client can obtain a pointer to that file object by calling ObReferenceObjectByHandle.
This also describes some TdiBuildXxx functions that only kernel-mode clients might call:
·TdiBuildInternalDeviceControlIrp to allocate an IRP to be passed to a TdiBuildXxx macro and, then, to IoCallDriver when a kernel-mode client makes a request to its underlying transport on its own behalf
·TdiBuildNetbiosAddressEa to set up a buffered EA describing an address with which the client of a NetBIOS transport can subsequently call ZwCreateFile to open that NetBIOS address
·TdiBuildNetbiosAddress to set up a NetBIOS address for the client of a NetBIOS transport
For more information about how transport drivers handle the TDI_XXX requests set up by the build-IRP macros, see Chapter 2. See the Kernel-Mode Driver Design Guide and Reference for more information about the kernel-mode support routines, such as IoCallDriver, ZwCreateFile, and ObReferenceObjectByHandle, mentioned here.
The macros and functions described here are in alphabetic order.