toanitaliajuventus at September 23rd, 2006 00:01 — #1
i am using virtual audio device/driver get from DDK.
In DDK have available virtual audio driver, i have build msvad folder then
install with msvad.inf file. Chose AC3 in during installation.
I would like to pass sound data (were captured in to a sound buffer) to
virtual audio device. And sure my Audio In device is a real device.
But it seem , i can not use this virtual driver for now. I must change code
in source files of MSVAD and rebuild and then reinstall, right?
Can help/show me how to pass the sound buffer to virtual audio driver, and
then get this buffer from virtual audio driver to real audio device for
This is need for me, hope will have anyone can help me..
Thanks for any help.
singamkiranreddy at October 16th, 2006 06:03 — #2
How to pass data from virtual audio device to real hardware :
1: catch data from copto fuction of msvad sample
2: In the same function create your own Irps and fill the data
which u got in copyto function.
3: Get symbolic link name of real hardware function driver.
4: send filled irps to the function driver
detten at November 28th, 2006 08:47 — #3
Thank you for the steps, but I was wondering how exactly this is done.
I am new to driver development and IRP's.
I have troubles putting step 2 into code. What API would you use to create the IRP? It seems at least I need to know the stacksize to use IoAllocateIrp, how do I retrieve that from the MSVAD sample driver? And how would I fill it with the source data?
singamkiranreddy at June 12th, 2007 04:01 — #4
sorry for the late reply. I left the driver field and now in to Network Stacks. Still if you want the code related to that i will provide.
adward at October 8th, 2007 11:06 — #5
hi,i am writing a driver which can capture all sounds from a computer,and now i am learning the msvad source code,but still many things can`t understand,can you give me some source code about this ?? thank you, my email is : firstname.lastname@example.org
toanitaliajuventus at November 15th, 2007 03:27 — #6
Do you have code implementation for copyto/copyfrom function ?
I read basedma.cpp in the msvad but i donot know what need to implementation for copyto function.
Can you send to me your sample code , email email@example.com
Thank for your help.
ying at January 23rd, 2008 01:34 — #7
hello singamkiranreddy and others,
I am trying to achieve the same thing here, and having trouble on how to implement the copyto/copyfrom function.
could you please send me the sample code? my email is firstname.lastname@example.org
Thank you very much,
singamkiranreddy at May 19th, 2008 07:13 — #8
IN PVOID Destination,
IN PVOID Source,
IN ULONG ByteCount
The CopyTo function copies sample data to the DMA buffer.
Callers of CopyTo can run at any IRQL.
Destination - Points to the destination buffer.
Source - Points to the source buffer
ByteCount - Number of bytes to be copied
if(Count==6) //after 6 writes create Irp and pass it down
irp1 = IoAllocateIrp (FunObject->StackSize, FALSE);
irp1->IoStatus.Status = STATUS_NOT_SUPPORTED;
irp1->IoStatus.Information = 0;
PIO_STACK_LOCATION irpStack = IoGetNextIrpStackLocation(irp1);
irpStack->MajorFunction = IRP_MJ_DEVICE_CONTROL;
DbgPrint("sending buffer is =%x sending BufferLength is =%x",irpBuffer,irpBufferLength);
IoSetCompletionRoutine(irp1, DataIrpComplete, this, TRUE, TRUE, TRUE);
//pass IRP to FunctionDriver
NTSTATUS Status = IoCallDriver(FunObject, irp1);
// m_SaveData.WriteData((PBYTE) Source, ByteCount);
} // CopyTo
reedbeta at May 20th, 2008 01:12 — #9
Please use ...[/code] to post code. [code]...[/code****] to post code.