NTSTATUS VIOSerialEvtDeviceD0Exit( IN WDFDEVICE Device, IN WDF_POWER_DEVICE_STATE TargetState ) { PPORTS_DEVICE pContext = GetPortsDevice(Device); PPORT_BUFFER buf; TraceEvents(TRACE_LEVEL_INFORMATION, DBG_PNP,"--> %s TargetState: %d\n", __FUNCTION__, TargetState); PAGED_CODE(); while (buf = (PPORT_BUFFER)virtqueue_detach_unused_buf(pContext->c_ivq)) { VIOSerialFreeBuffer(buf); } VIOSerialShutDownAllQueues(Device); TraceEvents(TRACE_LEVEL_INFORMATION, DBG_PNP, "<-- %s\n", __FUNCTION__); return STATUS_SUCCESS; }
NTSTATUS VIOSerialEvtDeviceD0Exit( IN WDFDEVICE Device, IN WDF_POWER_DEVICE_STATE TargetState ) { TraceEvents(TRACE_LEVEL_INFORMATION, DBG_INIT, "--> %s\n", __FUNCTION__); PAGED_CODE(); VIOSerialShutdownAllPorts(Device); VIOSerialShutDownAllQueues(Device, TRUE); TraceEvents(TRACE_LEVEL_INFORMATION, DBG_INIT, "<-- %s\n", __FUNCTION__); return STATUS_SUCCESS; }