Bonjour !

Je viens de commencer à apprendre ce qu'était les objets COM sous Windows.
Actuellement, j'essaie simplement de me servir de la fonction "EnumDisplayModes" provenant de l'interface "IDirectDraw7".
Cependant, soit j'ai mal compris ce que je devais donner en paramètre, soit c'est très étrange car le code de retour de la fonction est complétement différent des messages possibles attendus...

Voici la petite page qui explique comment se servir de cette méthode :
http://msdn.microsoft.com/archive/de...ddref_15br.asp

Et voici mon bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// detection of DirectX
			if (SUCCEEDED(CoInitialize(0))) // test if COM libraries can be initialized.
			{	
				IDirectDraw7* pDD7;
				if (SUCCEEDED(CoCreateInstance(CLSID_DirectDraw7, NULL, CLSCTX_ALL, IID_IDirectDraw7, (LPVOID *)&pDD7))) 
				{
					DWORD flag = DDEDM_REFRESHRATES;
					LPVOID lpContext = LPVOID ();
					HRESULT hresult = pDD7->EnumDisplayModes(flag, NULL, lpContext,NULL);
					String result = String::empty;
					if (DD_OK == hresult) {
						result = JUCE_T(" DD_OK");
					}
					else if (DDERR_INVALIDOBJECT == hresult) {
						result = JUCE_T(" DDERR_INVALIDOBJECT");
					}
					else if (DDERR_INVALIDPARAMS == hresult) {
						result = JUCE_T(" DDERR_INVALIDPARAMS");
					}
					else {
						result = JUCE_T(" Others ERROR");
					}
					directX->setText(MSG_COM_DIRECTX_V7_installed + result, false);
				}
				else 
				{
					directX->setText(MSG_COM_DIRECTX_V7_ERROR, false);
				}
			}
			else 
			{
				directX->setText(MSG_COM_LIBRARY_INIT_ERROR, false);
			}
			CoUninitialize();
Quelqu'un saurait il m'indiquer pourquoi j'obtiens en résultat : "Others ERROR" ??