What does HRESULT 0x80100021 (SCARD_E_ICC_CREATEORDER) mean?

 
Previous Next
SCARD_E_ICC_INSTALLATION SCARD_E_UNSUPPORTED_FEATURE

SCARD_E_ICC_CREATEORDER

What the card rejected

SCARD_E_ICC_CREATEORDER (0x80100021) means the requested order of object creation is not supported by the integrated-circuit card or its card-specific provider. This concerns the card's logical object/personalization model, not host filesystem directory order.

Capture the card-side sequence

  • Card ATR, reader, protocol and card/profile/application identifier.
  • The high-level smart-card call and the command/APDU sequence it produced.
  • The object being created plus prerequisite parent files, keys, security environments or application objects required by the card profile.
  • The card status word or provider-specific result returned immediately before the PC/SC HRESULT.

Focused test

On a disposable/test card, replay the issuer- or vendor-defined creation sequence and compare it with the failing order while keeping authentication and personalization state the same. Inventory the card after each step; repeated out-of-order create attempts can leave partially personalized state.

Correction

Follow the dependency order defined by the card application/profile. If middleware hides the APDU sequence, instrument below it or use vendor tracing so the failing dependency is visible. Do not reset or re-personalize a production card until its current object inventory and security state are preserved.

Verification

Create the object in the documented order, reconnect to the card, and verify that the object remains accessible under the intended security conditions. Keep an intentional out-of-order test to confirm the card still rejects unsupported creation sequences.

Technical references


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