[wdmaudiodev] VIRTUAL AUDIO DRIVER

  • From: Vladimimir Matiz <vmatiz@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 29 Dec 2004 10:21:09 -0600 (CST)

i'm tring of create a virtual audio driver  for a servidor, than don't have 
sound card, so allow to the clients can use it.
i´m working in this moment whit virtual cable software that implement a driver 
in user mode that build sound card  virtuals 
one for each client, i need the "wdmaud.drv code" forbuild my own software and 
to learn, or "mmdrv.dll" that too export
funtions:  
driverproc
widmessage
wodmessage
auxmessage
midmessage
modmessage

i has build my own DLL but my system is breaked,  this is the code:
 
#include <windows.h>
#include "Caudiogaleontres.h"
 

long DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg, 
    LONG lParam1, LONG lParam2)
{
  
    DWORD dwRes = 1L;
    switch (msg) 
    {
    case DRV_LOAD:        //1111111111111
    // Sent when the driver is loaded. This is always   
    // the first message received by a driver. 
        return 1L;  // returns 0L to fail
        break;
    case DRV_ENABLE:        //22222222222222
    // Sent when the driver is loaded or reloaded and
    // when Windows is enabled. Install interrupt
    // handlers and initialize hardware. Expect the
    // driver to be in memory only between the enable
    // and disable messages.
        return 1L;  // return value ignored
        break;
    case DRV_OPEN:                //333333333333333
        return 1L;
        break;       // value subsequently used
                     // for dwDriverId.
    case DRV_INSTALL:                     //4444444444444444    
    // Sent when the driver is installed.
        return DRVCNF_RESTART;  // Can also return 
        break;              // DRVCNF_CANCEL
                            // and DRV_RESTART
    case DRV_QUERYCONFIGURE:            //555555555555555                
    // Sent to determine if the driver can be
    // configured.
        return 0L;  // Zero indicates configuration
        break;       // NOT supported
    case DRV_CONFIGURE:                //66666666666
    // Sent to display the configuration
    // dialog box for the driver.
        return DRVCNF_RESTART;  // Can also return
        break;              // DRVCNF_CANCEL
                            // and DRVCNF_RESTART

    case DRV_CLOSE:                  //777777777777777777777          
    // Sent when the driver is closed. Drivers are
    // unloaded when the open count reaches zero.
        return 1L;  // returns 0L to fail
        break;

    case DRV_DISABLE:                //8888888888888888
    // Sent before the driver is freed or when Windows
    // is disabled. Remove interrupt handlers and place
    // hardware in an inactive state.
        return 1L;  // return value ignored
        break;
 
    case DRV_FREE:                //99999999999999999999999
    // Sent when the driver is about to be discarded.
    // This is the last message a driver receives
    // before it is freed.
        return 1L;  // return value ignored
        break;
    case DRV_REMOVE:
    // Sent when the driver is removed.
        return 1L;  // return value ignored
        break;

    }
    return dwRes;
}

long midMessage (UINT uDeviceId, UINT uMsg, DWORD dwUser,
DWORD dwParam1, DWORD dwParam2)
{
 return 0;
}
long modMessage (UINT uDeviceId, UINT uMsg, DWORD dwUser,
DWORD dwParam1, DWORD dwParam2)
{
 return 0;
}

long widMessage (UINT uDeviceId, UINT uMsg, DWORD dwUser,
DWORD dwParam1, DWORD dwParam2)
{
 return 0;
}
long wodMessage (UINT uDeviceId, UINT uMsg, DWORD dwUser,
DWORD dwParam1, DWORD dwParam2)
{
 return 0;
}

long auxMessage (UINT uDeviceId, UINT uMsg, DWORD dwUser,
DWORD dwParam1, DWORD dwParam2)
{
 return 0;
}
 

i don't know thati´mk doing bad! if some body can help me thanks  whit 
information ó recomendation or some tips.
att: Vladimir Matiz
 





---------------------------------
Do You Yahoo!?
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del 
Mundo.
Visíta Yahoo! Noticias.

Other related posts: