> 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.