Stephen Pinto wrote: > > > You based your work on MSVAD, which is a Port Class miniport. The Port > Class model is designed for devices that connect directly to a hardware > bus (like PCI), and therefore have no latency. So, the model assumes > that the IDmaChannel methods (like CopyTo and CopyFrom) will all execute > immediately. Your design requires those methods to delay while you wait > on action from outside. > > > In our driver we are not performing any major operations > inside CopyTo. What we do in CopyTo is just copy the data from the DMA > buffer to some other buffer and return. There is then this another > thread which performs the task of reading from that buffer and do what > we need to i.e. perform our operations. So I presume we are not > halting the CopyTo while we do our operations. Am I still missing out > on something ? No, your question is a good one, and it has made me realize that there is a gap in my knowledge of Port Class. The message you got from the HCK test says that it submitted an IRP_KS_WRITE_STREAM request while in KSSTATE_PAUSE, it was expecting the request to be pended, and instead the request was held in the driver. As far as I know, that kind of thing is outside the control of a Port Class miniport -- it's handled by the Port Class driver. So, I don't know the answer. Someone who is better with Port Class should probably take over this thread. -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.