Enumerate sound devices linking error (_DirectSoundEnumerate)



  • Hi,

    ich möchte mir gerne die sound devices im system in ner combobox anzeigen lassen und gehe genau wie in diesem beispiel vor
    http://msdn2.microsoft.com/en-us/library/bb173365.aspx

    doch egal was ich anstelle, kriege ich ständig diesen linking error siehe unten (auch wenn ich den ihnalt der DSEnumProc auskommentiere)!
    egal ob ich es aus der dialog klasse oder app klasse ausführe oder ob ich es im initdialog starte oder in ner extra funktion.
    die Dsound.lib ist eingebunden.
    muss man die callback irgendwo initialiseren ? habe es schon in den headern versucht doch das problem bleibt.

    Jemand ne Idee ?
    THANX
    CU

    BOOL CALLBACK DSEnumProc(LPGUID lpGUID, 
             LPCTSTR lpszDesc,
             LPCTSTR lpszDrvName, 
             LPVOID lpContext )
    {
      //HWND hCombo = (HWND)lpContext;
      //LPGUID lpTemp = NULL;
    
      //if (lpGUID != NULL)  //  NULL only for "Primary Sound Driver".
      //{
      //  if ((lpTemp = (LPGUID)malloc(sizeof(GUID))) == NULL)
      //  {
      //      return(TRUE);
      //  }
      //  memcpy(lpTemp, lpGUID, sizeof(GUID));
      //}
    
      //ComboBox_AddString(hCombo, lpszDesc);
      //ComboBox_SetItemData(hCombo,ComboBox_FindString(hCombo, 0, lpszDesc),lpTemp );
      //free(lpTemp);
      return(TRUE);
    }
    
    BOOL CSenderApp::InitInstance()
    {
    
    	INITCOMMONCONTROLSEX InitCtrls;
    	InitCtrls.dwSize = sizeof(InitCtrls);
    	InitCtrls.dwICC = ICC_WIN95_CLASSES;
    	InitCommonControlsEx(&InitCtrls);
    
    	CWinApp::InitInstance();
    
    	AfxEnableControlContainer();
    	SetRegistryKey(_T("Vom lokalen Anwendungs-Assistenten generierte Anwendungen"));
    
    	CSenderDlg dlg;
    	m_pMainWnd = &dlg;
    	INT_PTR nResponse = dlg.DoModal();
    	HWND hDlg = GetForegroundWindow();
    	HWND hCombo = GetDlgItem( hDlg, IDC_COMBO2 );
    
    	DirectSoundEnumerate((LPDSENUMCALLBACK)DSEnumProc,hCombo);
    
                 ......
    
    Sender.obj : error LNK2019: unresolved external symbol _DirectSoundEnumerateW@8 referenced in function "public: virtual int __thiscall CSenderApp::InitInstance(void)" (?InitInstance@CSenderApp@@UAEHXZ)
    Sender.exe : fatal error LNK1120: 1 unresolved externals
    

  • Mod

    Du hast Dsound.lib nicht bei den Linkeroptionen angegeben. Bzw:
    #pragma comment(lib,"Dsound.lib")
    nicht verwendet!



  • nee hab ich !

    strmiids.lib
    quartz.lib
    d3dx9.lib
    d3d9.lib
    dxerr9.lib
    dxguid.lib
    xmllite.lib
    Dsound.lib
    

    hab jetzt sogar
    #pragma comment(lib,"Dsound.lib")
    rein getan und der fehler bleibt.
    CU


Anmelden zum Antworten