| Previous | Next |
| STATUS_TPM_ACCESS_DENIED | STATUS_TPM_PPI_FUNCTION_UNSUPPORTED |
STATUS_TPM_INSUFFICIENT_BUFFER
Do not silently reinterpret 0xC0291005 as an ordinary short output buffer
STATUS_TPM_INSUFFICIENT_BUFFER is another unusual Windows status where the published symbolic name and message text do not line up. The current AllStat record and Microsoft's NTSTATUS catalog associate 0xC0291005 with a message saying that the caller lacks the appropriate rights. That is the same wording expected for an access-denied condition, not a buffer-size explanation.
The TPM software stack also has separate, documented buffer errors. TPM Base Services defines TBS_E_INSUFFICIENT_BUFFER for an output buffer that is too small, and Tbsip_Submit_Command carries an in/out result-size parameter for the response buffer. At the TPM command-response level, Microsoft's TPM return-code decoder defines TPM_RC_INSUFFICIENT as failure to unmarshal a value because the input did not contain enough bytes. These are distinct numeric spaces and contracts; none should be substituted merely because the words “TPM” and “insufficient” appear in the names.
When 0xC0291005 is observed, preserve the raw value and identify which layer returned it: a native Windows path, TBS, a TPM command parser, or an application wrapper. Log the API, command code, input length, result-buffer capacity, returned size, and any security context relevant to the call. A two-call “query size then retry” pattern is appropriate only when the actual API documents it. Increasing a buffer blindly can hide a status-decoding bug and will not solve an authorization failure.
What to inspect
- Record the raw 0xC0291005 value before mapping it to Win32 or HRESULT form.
- Identify whether the failure came from NTSTATUS, TBS, or a TPM response code.
- Resize buffers only according to the contract of the API that actually returned the error.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: TBS return codes
- Microsoft: Tbsip_Submit_Command
- Microsoft TpmRCDecoder: TPM response codes
Looking for a different code? Search another status or error code.