TDI_QUERY_INFORMATION

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