Hello,

This is an audio/midi driver related problem. I hope
somebody can help. I try to write a simple midi-in driver
where data is transfered from a device to some midi
software application. Therefore i took the DDK dmusUART
sample as a basis and modified it to my needs. Now the
driver is just for input. By orienting at the sample and
the DDK documentation all pin declarations and property
request handlers should be correct. The device shows up
correctly in the audio device listings and can be
selected as input. But when i try to connect the IMXF is
created, initialized and the output connects and
immediately disconnects. After that the IMFX is
destroyed. This happens about 28 times and no data is
transfered. After that the application beliefs it ist
connected but the driver shows no singns of life anymore
and does not react on any further connection attempts.
Can anyone help? Thanks.

Best regards,
Timo

RE: Audio Midi In by richfr_nospam

richfr_nospam
Tue Jan 13 17:05:35 CST 2004

------=_NextPart_0001_16C67356
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

I will take a look at the code involved with IMFX to see what condition
might cause the disconnects and see if they might provide some clues to
what is happening.

Thanks,
Rich
MS DDK Support
------=_NextPart_0001_16C67356
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20 I will take a look at the code involved with IMFX to see what condition might cause the disconnects and see if they might provide some clues to what is happening.
\par
\par Thanks,
\par Rich
\par MS DDK Support
\par }
------=_NextPart_0001_16C67356--


RE: Audio Midi In by richfr_nospam

richfr_nospam
Mon Jan 19 15:01:18 CST 2004

------=_NextPart_0001_353AE308
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

I've looked at the portcls code that communicates with your IMXF interface
and see that it has some pretty good debug statements that should indicate
what is going on. You can activate these debug statements by installing the
checked build of portcls.sys and from within the debugger editing portcls
debug level which is stored in the variable PORTCLSDebug. For example, in
windbg you would use the command:
e portcls!PORTCLSDebug

Then, change the value to a number between 0-4 with the higher number give
more debug output.

Since you should only need to install the checked build of portcls.sys a
good method to use is to boot the machine in safe mode and make a copy of
the current portcls.sys and the overwrite it with the checked build
version. Then reboot the machine normally. Booting in safe mode will allow
you to circumvent system file protection.

Let me know if you have any additional questions on how to enable this
error logging.

Thanks,
Rich



------=_NextPart_0001_353AE308
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20 I've looked at the portcls code that communicates with your IMXF interface and see that it has some pretty good debug statements that should indicate what is going on. You can activate these debug statements by installing the checked build of portcls.sys and from within the debugger editing portcls debug level which is stored in the variable PORTCLSDebug. For example, in windbg you would use the command:
\par e portcls!PORTCLSDebug
\par
\par Then, change the value to a number between 0-4 with the higher number give more debug output.
\par
\par Since you should only need to install the checked build of portcls.sys a good method to use is to boot the machine in safe mode and make a copy of the current portcls.sys and the overwrite it with the checked build version. Then reboot the machine normally. Booting in safe mode will allow you to circumvent system file protection.
\par
\par Let me know if you have any additional questions on how to enable this error logging.
\par
\par Thanks,
\par Rich
\par
\par
\par
\par
\par }
------=_NextPart_0001_353AE308--