SOL9 2.0 Class: SystemMessage

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * SystemMessage.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2010/10/31

#pragma once
#include <sol/Object.h>

namespace SOL {

class SystemMessage :public Object {

private:
    static const int size = 1024;
    char  buffer[size];
    bool  result;

private:
    static const DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM;

public:
    SystemMessage(__in DWORD dwMessageId)
    {
        result = true;
        memset(buffer, 0, size);
        DWORD rc = FormatMessage(dwFlags,
            NULL, 
            dwMessageId,
            0,
            buffer, 
            size, 
            NULL);
        if (rc == 0) {
            result = false;
            memset(buffer, 0, size);
        }
    }

public:
    void show() {
        if (result) {
            ::printf("%s\n", buffer);    
        }
    }

public:
    const char* getMessage()
    {
        return buffer;
    }
};

}

Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.