2010-11-01 11 views
1

Je gère une application héritée et j'ai besoin de trouver la documentation de la fonction IDirectDraw :: SetCooperativeLevel. (Non, le Windows CE MSDN page ne le coupe pas.) Ce n'est pas dans MSDN, ce n'est pas dans la dernière documentation de DirectX SDK, et en regardant autour de Microsoft, toute la documentation DirectDraw (et les anciens SDK) a été supprimée de leur site web. Avant de télécharger les anciens programmes d'installation de DirectX SDK à partir de sites Web aléatoires, est-ce que quelqu'un connaît un meilleur endroit pour trouver la documentation DirectDraw?Où se trouve la documentation DirectDraw?

+0

Oui, DirectDraw est obsolète. Il craint qu'ils ont supprimé la documentation, mais il semble que c'est ce qui est arrivé. Je n'approuve généralement pas le piratage sous quelque forme que ce soit, mais vous pouvez peut-être télécharger Visual Studio 6 à partir d'une source ombrée et obtenir sa documentation MSDN hors connexion depuis l'installation. Si quelqu'un trouve mon message de mauvais goût, commentez ici et je l'enlèverai. –

Répondre

0

Vous ne savez pas exactement de quelle information vous avez besoin, mais voici ce que j'ai obtenu.

Pris d'un tutoriel ici: http://www.gamedev.net/reference/articles/article608.asp

/* 
    * The cooperative level determines how much control we have over the 
    * screen. This must at least be either DDSCL_EXCLUSIVE or DDSCL_NORMAL 
    * 
    * DDSCL_EXCLUSIVE allows us to change video modes, and requires 
    * the DDSCL_FULLSCREEN flag, which will cause the window to take over 
    * the fullscreen. This is the preferred DirectDraw mode because it allows 
    * us to have control of the whole screen without regard for GDI. 
    * 
    * DDSCL_NORMAL is used to allow the DirectDraw app to run windowed. 
    */ 
    ddrval = lpDD->SetCooperativeLevel(hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); 

J'ai aussi trouvé que SetCooperativeLevel doit être appelée avant SetDisplayMode.

Aussi cela pourrait ou non être utile: http://www.eggheadcafe.com/software/aspnet/33936361/idirectdraw7setcooperativelevel-and-focusdevice-window.aspx

Pour la documentation pure, je ne pouvais pas trouver quelque chose de mieux que MSDN, si vieux sont probablement SDKs votre meilleur pari si la coupe ne pas ci-dessus.

+0

Merci pour l'effort, mais j'avais besoin de détails sur tous les drapeaux supportés, ainsi que des docs sur d'autres fonctions DirectDraw. –

+0

Je voudrais juste obtenir le SDK plus tôt que tard, alors :) – Oystein

+0

Microsoft réside dans sa propre documentation. J'ai essayé d'appeler 'SetDisplayMode' sans définir le niveau coopératif d'abord, et cela fonctionne sans aucun problème. Je n'ai pas l'erreur 'DDERR_NOCOOPERATIVELEVELSET' plus tôt que lorsque vous essayez d'allouer des ressources DirectDraw, c'est-à-dire avec' CreateSurface'. Mais cela peut aussi être surmonté en fixant le niveau coopératif 'DDSCL_NORMAL' (fenêtré, ou partagé), et on n'a pas non plus besoin de spécifier un descripteur de fenêtre: on peut simplement passer' NULL' comme le handle de la fenêtre 'SetCooperativeLevel' et créer n'importe quel type de surface commence à fonctionner. – SasQ

-1

je peux trouver le document sur MSDN: http://msdn.microsoft.com/en-us/library/aa918514.aspx

Je ne Sachez pourquoi vous dites que ce n'est pas disponible.

+0

Parce que c'est la documentation pour Windows Mobile 6.5. Vous ne trouverez pas ici de choses spécifiques à certaines versions de DirectDraw, et l'API diffère probablement de celles de DirectX pour les versions Windows de bureau. Par exemple, essayez de trouver la documentation pour D3DXPrepareDeviceForSprite. –

+0

J'ai même lié à cette page exacte dans ma question (citation: "Non, la page Windows CE MSDN ne le coupe pas").L'avez-vous lu? –

Questions connexes