Chapter 10 TDI Status Codes

This chapter describes the status codes used by TDI drivers.

STATUS_ACCESS_DENIED

The TDI driver denies access to the destination address.

STATUS_ACCESS_VIOLATION

One or more addresses indicated in a request are not accessible due to memory protection.

STATUS_ADDRESS_ALREADY_EXISTS

A TDI client cannot open a transport address because it already exists.

STATUS_ADDRESS_CLOSED

A transport address is closed.

STATUS_BUFFER_OVERFLOW

Data is too large to fit in the indicated buffer.

STATUS_BUFFER_TOO_SMALL

The indicated buffer is too small to contain a particular entry, and the TDI driver has written no information to the buffer.

STATUS_CONNECTION_ABORTED

The TDI driver cannot process a request because it has received a disconnect indication from the remote node address object, or because it has abnormally shut down the connection due to driver error. The driver writes this status code for all outstanding connection-oriented requests at the specified address object.

STATUS_CONNECTION_DISCONNECTED

The TDI driver has terminated the connection.

STATUS_CONNECTION_ESTABLISHED

The TDI driver cannot satisfy a request because a client has already established a connection, or is in the process of establishing one, at a particular address object. Queueing the request can initiate an additional connection on the indicated address object, which TDI does not permit.

STATUS_CONNECTION_REFUSED

The internal TDI driver connect function cannot succeed in establishing a connection because the remote address object has no outstanding listen requests on the destination transport address.

STATUS_CONNECTION_RESET

Specifies the reset of a TDI driver connection.

STATUS_DATA_NOT_ACCEPTED

A TDI client cannot handle data received during an event indication.

STATUS_DATATYPE_MISALIGNMENT

A TSDU or data buffer is misaligned, resulting in an alignment fault. Any associated requests fail.

STATUS_DEVICE_NOT_READY

A device is not ready for use by the caller.

STATUS_DISCONNECTION_IN_PROGRESS

The TDI driver cannot accept a disconnect request because a disconnect sequence is already in progress.

STATUS_DUPLICATE_NAME

The indicated NetBIOS client name already exists on the network.

STATUS_EVENT_DONE

A TDI client event handler has completed processing.

STATUS_EVENT_PENDING

A TDI client event handler has pended processing.

STATUS_INFO_LENGTH_MISMATCH

A TSDU is not large enough to accommodate a request.

STATUS_INSUFFICIENT_RESOURCES

The TDI driver cannot satisfy a request because it requires the driver to overcommit resources or because the driver cannot allocate these resources. Practical design limitations may restrict the number of simultaneous objects that can be open.

STATUS_INVALID_ADDRESS_COMPONENT

The TDI driver has rejected a network address indicated to be invalid.

STATUS_INVALID_ADDRESS_WILDCARD

The TDI driver has rejected a network address due to invalid use of a wildcard.

STATUS_INVALID_BUFFER_SIZE

The size of a buffer is invalid for an indicated operation.

STATUS_INVALID_CONNECTION

A connection context passed to the TDI driver is invalid.

STATUS_INVALID_DEVICE_REQUEST

A request is not valid for the TDI driver.

STATUS_INVALID_HANDLE

An address object does not have a valid I/O subsystem handle.

STATUS_INVALID_INFO_CLASS

An indicated class is not valid for the TDI driver.

STATUS_INVALID_PARAMETER

A client has passed an invalid parameter to a TDI driver function.

STATUS_MORE_PROCESSING_REQUIRED

A client receive event handler has not copied received data. The event handler writes a pointer to an IRP that represents a receive request to the TDI driver.

STATUS_NO_EXIST

An address or a network-manageable variable does not exist. The TDI driver cannot complete the associated request.

STATUS_NONEXISTENT_EA_ENTRY

A client has not provided an EA in an IRP with a major function code of IRP_MJ_CREATE. The TDI driver uses the EA to determine the type of file object the requesting client wants to open.

STATUS_NOT_CLIENT_SESSION

The TDI driver can only process the indicated request on the client side of a session.

STATUS_NOT_IMPLEMENTED

The TDI driver does not yet support the specified client request.

STATUS_NOT_SERVER_SESSION

The TDI driver can only process the indicated request on the server side of a session.

STATUS_PENDING

A request has pended and will be completed later.

STATUS_RECEIVE_EXPEDITED

Specifies completion of an expedited data receive request.

STATUS_RECEIVE_PARTIAL

Specifies completion of a partial data receive request.

STATUS_RECEIVE_PARTIAL_EXPEDITED

Specifies completion of a partial expedited data receive request.

STATUS_REMOTE_NOT_LISTENING

The remote node TDI driver has not accepted a connection because its client has not posted a listen request.

STATUS_REQUEST_CANCELLED

The TDI driver cannot perform an operation because an event has canceled it. The driver writes this status code to the function requesting the operation.

STATUS_REQUEST_OUT_OF_SEQUENCE

The TDI driver cannot accept a request because it cannot process the request. For example, a driver rejects a send request with this status code if the specified connection endpoint is not already bound to a transport address. Similarly, a driver discards multiple connect requests with this status code over a given connection endpoint.

STATUS_REQUEST_TIMED_OUT

The TDI driver cannot process a request within the indicated timeout interval and has terminated the request.

STATUS_SECURITY_VIOLATION

The TDI driver cannot perform an operation because its security clearance is insufficient to affect the associated TDI object.

STATUS_SERVICE_NOT_PROVIDED

The TDI driver does not support a specified service option.

STATUS_SUCCESS

A client request has been completed successfully.

STATUS_TOO_MANY_ADDRESSES

A TDI client cannot open a transport address because all available addresses are in use.

STATUS_TOO_MANY_NODES

The TDI driver cannot dynamically acquire any more nodes.

STATUS_TRANSACTION_ABORTED

The TDI driver has aborted a pended transaction.

STATUS_TRANSACTION_INVALID_ID

The TDI driver does not recognize the indicated transaction request identifier.

STATUS_TRANSACTION_INVALID_TYPE

The TDI driver does not recognize the indicated transaction request type.

STATUS_TRANSACTION_NO_MATCH

The TDI driver has not found a transaction matching the indicated token.

STATUS_TRANSACTION_NO_RELEASE

The TDI driver has not received a release for a pending response.

STATUS_TRANSACTION_RESPONDED

The TDI driver has previously responded to a transaction request.

STATUS_TRANSACTION_TIMED_OUT

The TDI driver has timed out a request waiting for a response.

STATUS_WAITING_ORDERLY_RELEASE

The TDI driver has accepted a request but cannot engage the disconnect protocol because the address object has entered its orderly release connection shutdown sequence. The address object has to wait for the completion of all outstanding send requests and all TDI_EVENT_RECEIVE events. When it clears these requests and events, the TDI driver automatically shuts down the connection.