I found definitely strange PortCls behavior. On high audio system load (multiple devices, multiple steams, dozens of small (5-10 ms) buffers), PortCls calls MappingAvailable but returns STATUS_NOT_FOUND from GetMapping called *immediately* from MappingAvailable. MappingAvailable is called by PortCls in response to IOCTL_KS_READ/IOCTL_KS_WRITE IRPs (I monitor IRPs dispatched by driver), then I call GetMapping from MappingAvailable and get STATUS_NOT_FOUND from *first* call. On later calls to GetMapping, PortCls returns a mapping (or several mappings), but it may occur when the driver already starts to starve and produce gaps. High audio load does not mean high CPU load. CPU is not loaded significantly (max 20-50%). This effect is reliably reproducible under XP SP3, 2003 SP1 and 2003 SP2 (all are 32-bit), in both single and dual core configurations. Is there any reasonable explanation for such PortCls behavior? Regards, Eugene ****************** 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/