Hello,
Thanks for the answer :)
I read the documentation, but from what it says I understand that if the adapter ordinal that you supply is bigger than the GetAdapterCount() - 1, it returns D3DERR_INVALIDCALL..
I would gladly try it, but I am using a laptop. I don't know... Is it possible to have more than one adapter on your laptop? Anyway, I was just hoping somebody would know the answer to this :).
The reason I am asking this question is because I saw this function being called in this way in a device enumeration code module. After the enumeration process, the client code can call a function like FindBestFullscreenMode(DisplaySettings& settings, D3DDISPLAYMODE& matchMode, bool bRequireHAL, bool bRequireREF). This function attempts to find an adapter which matches the requested settings as closely as possible (i.e. has a matching display mode with matchMode, and uses a HAL or REF device, depending on the values of 'requireHAL' and 'requireREF').
Inside the function there is a loop which does somehting like this:
for(UINT adapterIndex = 0; adaperIndex < adapterCount; adapterIndex++)
{
D3DDISPLAYMODE displayMode;
direct3D9->GetAdapterDisplayMode(adapters[adapterIndex]->Oridnal, &displayMode);
// The rest of the code...
}
... where 'adapterCount' is the current number of adapters installed on the system and 'adapters' is a std::vector which contains instances of a class which holds adapter information (like the adapter ordinal for example).