locked
FwpsStreamInjectAsync0 completion failed with STATUS_INVALID_DEVICE_STATE 0xc0000184 RRS feed

  • Question

  • Hallo all.

    I have problem with Out of Band stream inspection and flow life time management.

    I know that in Out of Band inspection can object died before I'm able to re-inject all inspected data, so I handle FWPS_LAYER_ALE_ENDPOINT_CLOSURE_V4 V6 layers and I'm pending this classification by FwpsPendClassify0 call when necessary.

    I added synchronization between Endpoint Pending and Injections, so I do not provide injections when EP pending operation is in progress.

    Even I do all described operations, sometime I can see that Stream Re-Injection by method  FwpsStreamInjectAsync0 failed in injection completionFn with status:

    STATUS_INVALID_DEVICE_STATE 0xc0000184

    or

    STATUS_NOT_FOUND 0xC0000225

    I can see from my logs, that it is re-injection of the SEND FIN packet, so stream flags for Injection are set to:

    FWPS_STREAM_FLAG_SEND_DISCONNECT | FWPS_STREAM_FLAG_SEND

    Due EP closure sync mechanism, I can see that EP closure classify is successfully pended when I got this failed notification.

    Can anybody hepls me to explain what is the INVALID_DEVICE_STATE and how to fix this ?

    Same question is about STATUS_NOT_FOUND when the EP is pended.

    Thank you very much.

    Tuesday, August 12, 2014 1:41 PM