Bekomme warning nicht weg...



  • Hi,

    ich möchte eine Warning wegbekommen, doch die will nicht weg 😞

    bool CApplication::isRunning (void)
    {
    	HANDLE hMapping = CreateFileMapping( (HANDLE) 0xffffffff, // hier dieses (HANDLE)0xFFFFFFFF macht eine Warning
    									NULL,
    									PAGE_READONLY,
    									0,
    									32,
    									this->m_name);
    
    	return (hMapping && GetLastError () == ERROR_ALREADY_EXISTS);
    }
    


  • Was genau sagt denn der Compiler?



  • Es heisst nicht 0xFFFFFFFF, es heisst INVALID_HANDLE_VALUE:

    bool CApplication::isRunning (void)
    {
        HANDLE hMapping = CreateFileMapping(INVALID_HANDLE_VALUE, // hier dieses (HANDLE)0xFFFFFFFF macht eine Warning
                                        NULL,
                                        PAGE_READONLY,
                                        0,
                                        32,
                                        this->m_name);
    
        return (hMapping && GetLastError () == ERROR_ALREADY_EXISTS);
    }
    

    Und wenn Du Dir das in <winbase.h> anschaust, siehst Du, daß nicht gleich nach HANDLE gecastet wird, sondern erstmal nach LONG_PTR. Aber wie gesagt: Man nehme INVALID_HANDLE_VALUE, um auf der sicheren Seite zu sein.


Anmelden zum Antworten