> if (NT_SUCCESS(status)) {
> status = WdfRequestForwardToIoQueue(Request, pEndpoint->Queue);
>- }
>-
>- if (!NT_SUCCESS(status)) {
>+ } else {
> pEndpoint->State = WvEpDisconnected;
> }
This is not the same. The value of status can change inside the if.