Hello. I'm writing a kernel streaming (upper) filter driver, which will operate only with a very constrained list of hardware. I'm having trouble determining the negotiated KSDATAFORMAT in the streaming filter driver. KSPROPERTY_PIN_DATAINTERSECTION does not seem to help me, because the last logged completion routine from the function driver below the filter always returns a different format than the one ultimately selected. What I mean is (grossly speaking) that the last logged call of KSPROPERTY_PIN_DATAINTERSECTION requests a match to rangeX (1 range only), but the filter completion routine indicates that the function driver has filled in the output buffer with rangeY as the result. Yet rangeX is seen to be the negotiated format. For each call to KSPROPERTY_PIN_DATAINTERSECTION, there is only 1 format sent (along with its pin, KSMULTIPLE_ITEM specifying 1 range). Yet the function driver does not always return a match for it. Why is this? Also, sometimes the IRP information member in the completion routine shows extended format data has been returned, with STATUS_SUCCESS, yet I see mostly zero/garbage within the output buffer (both in my traces and in the debugger). Why would that be? I look both in the user output buffer ( Irp->UserBuffer, in in a try except block), and a kernel mapping of the output buffer which I lock and map myself when the IRP is first coming down the stack, and both show the same garbage. In any case, during these cases Irp->PendingReturned is always 0. Why would the function driver sometimes return invalid data? Or am I tapping this communication (METHOD_NEITHER IOCTLs) incorrectly? Also, KSPROPERTY_PIN_CONSTRAINEDDATARANGES, KSPROPERTY_PIN_PROPOSEDATAFORMAT, KSPROPERTY_CONNECTION_DATAFORMAT and KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT are never logged by the filter driver. I know that I'm missing something here, could something shed any light on how a kernel streaming filter could find out about the negotiated format? thanks, Philip Lukidis ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/