Site icon EfmSoft

What does NTSTATUS 0xC0291005 (STATUS_TPM_INSUFFICIENT_BUFFER) mean?

 
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

References


Looking for a different code? Search another status or error code.

Exit mobile version