| Previous | Next |
| STATUS_RECEIVE_EXPEDITED | STATUS_EVENT_DONE |
STATUS_RECEIVE_PARTIAL_EXPEDITED
Only part of an expedited transport message was delivered
This status combines two independent conditions in the TDI receive contract: the data is marked expedited, and the current indication does not contain all bytes available for that transport service data unit. The client must therefore preserve both the special receive semantics and the unfinished length.
Treating the first fragment as a complete urgent message can desynchronize the protocol. Treating it as normal stream data can also lose the expedited distinction. The correct action is to use the indicated byte counts and receive flags, copy only what the handler can accept, and continue receiving under the same connection context.
What to inspect
- Record bytes indicated, bytes available, bytes taken, and all receive flags.
- Do not deliver the expedited message upward until the protocol-defined unit is complete.
- When replacing TDI, test partial urgent-data behavior explicitly on the supported transport API.
References
- Microsoft: ClientEventReceive
- Microsoft: TDI_SET_EVENT_HANDLER
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.