Operation
TDI_QUERY_INFORMATION is a request message a client issues to indicate a query information request.
Note TdiBuildQueryInformation is the macro a client uses to fill in the IRP.
A TDI client can use the query request to ask the TDI driver for information, such as connection status information, broadcast address, driver statistics, as well as local and remote node netcard status. The client can query information about an address, a connection endpoint, or a control channel. Along with the request message, it must provide input and output buffers for the IRP, as well as a status block structure the driver uses to write information about the request. These items are described in the sections below. For more information about the members of the IRP related to a query information request, see TdiBuildQueryInformation.
For a query information request, the client also needs to provide a query type and optional information needed for the query. Typically, the output buffer the client provides consists of predefined structures that depend on the query type. Query types the client can specify are:
Query Type | Meaning |
TDI_QUERY_ADAPTER_STATUS | For NetBIOS, queries a control channel object for the status of a local or remote netcard. |
TDI_QUERY_ADDRESS_INFO | Queries an address object for information. A TDI_ADDRESS_INFO structure defines the address information for a query. |
TDI_QUERY_BROADCAST_ADDRESS | Queries a control channel object for the transport driver broadcast address. |
TDI_QUERY_CONNECTION_INFO | Queries a connection endpoint object for information. The related structure is TDI_CONNECTION_INFO. |
TDI_QUERY_DATAGRAM_INFO | Queries a datagram for information. TDI_DATAGRAM_INFO is the related structure. |
TDI_QUERY_DATA_LINK_ADDRESS | Queries the datalink layer address of the TDI driver. |
TDI_QUERY_FIND_NAME | For NetBIOS, queries a control channel object for a name on the network. |
TDI_QUERY_NETWORK_ADDRESS | Queries the network layer address of the TDI driver. |
TDI_QUERY_PROVIDER_INFO | Queries a control channel object for TDI driver information. The related structure is TDI_PROVIDER_INFO. |
TDI_QUERY_PROVIDER_STATISTICS | Queries a control channel object for TDI driver statistics. The related structure is TDI_PROVIDER_STATISTICS. |
TDI_QUERY_SESSION_STATUS | For NetBIOS, queries an address object or a control channel object for the status of a local node session. |
Input
None
Output
None
I/O Status Block
The driver fills in the Status member of the IRP with one of the following TDI status codes:
STATUS_BUFFER_OVERFLOW
STATUS_INSUFFICIENT_RESOURCES
STATUS_INVALID_CONNECTION
STATUS_INVALID_DEVICE_REQUEST
STATUS_NOT_IMPLEMENTED
STATUS_SUCCESS
For more information about status codes, see Part II, Chapter 10.
The Information member of the IRP contains the number of data bytes the driver receives.
See Also
TDI_ADDRESS_INFO, TDI_CONNECTION_INFO, TDI_DATAGRAM_INFO, TDI_PROVIDER_INFO, TDI_PROVIDER_STATISTICS, TdiBuildQueryInformation