RSDN handle library
От: Аноним  
Дата: 18.12.02 06:31
Оценка: 1440 (21) +3
Статья:
RSDN handle library
Автор(ы): Павел Блудов, Александр Корсуков, Владислав Чистяков
Дата: 09.06.2004
Библиотека классов-оберток для объектов ядра windows.


Авторы:
VladD2
Блудов Павел
Sashko

Аннотация:
Библиотека классов-оберток для объектов ядра windows.
Круто !
От: Аноним  
Дата: 21.12.02 16:08
Оценка:
Я подкидывал идейку Adontz сделать это, он не послушал.

Весьма круто. Надо быстро заюзать и слать бугрепорты :)


Одно НО ! Где вы были ,когда .Net еще не было :)))
Спасибо
От: peterbes Россия  
Дата: 20.12.02 09:32
Оценка:
Спасибо, ребята. Пусть еще не OWL и не MFC, но начало есть. А дополнения Вы принимаете (как в GNU)?
ОчЕпЯтКа
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.02 17:06
Оценка:
У Владислава Чистякова очень странный мейл — http://www.rsdn.ru/Files/libs/audit@optim.ru
надо mailto: впереди ставить :)))
A journey of a thousand miles must begin with a single step © Lau Tsu
Название библиотеки
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 19.12.02 06:31
Оценка:
Очень вкусно выглядит! Спасибо! Но есть маленькое предложение — переименовать эту библиотеку в HTL (Handle Template Library). Будет единообразно с ATL и WTL.
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re: Спасибо
От: Блудов Павел Россия  
Дата: 20.12.02 10:53
Оценка:
Какого рода дополнения? (можно почтой)

Павел.
Re: Название библиотеки
От: Блудов Павел Россия  
Дата: 19.12.02 08:52
Оценка:
Поздно. Уже опубликовали. Впрочем, кто хочет, может сам себе переделать по вкусу и цвету.
Re: RSDN handle library
От: Lexey Россия  
Дата: 29.03.04 10:09
Оценка:
Здравствуйте, Павел Блудов, Александр Корсуков, Владислав Чистяк, Вы писали:

Баги в CFile::MapViewOfFile и CFile::MapViewOfFileEx. Условие асерта должно быть обратным.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[2]: RSDN handle library
От: Lexey Россия  
Дата: 30.03.04 15:16
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Баги в CFile::MapViewOfFile и CFile::MapViewOfFileEx. Условие асерта должно быть обратным.


И еще неплохо было бы на View враппер написать, а то неполноценно как-то получается.
... << RSDN@Home 1.1.3 stable >>
"Будь достоин победы" (c) 8th Wizard's rule.
Re: Круто !
От: c-smile Канада http://terrainformatica.com
Дата: 31.03.04 00:52
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Я подкидывал идейку Adontz сделать это, он не послушал.


А>Весьма круто. Надо быстро заюзать и слать бугрепорты


А>Одно НО ! Где вы были ,когда .Net еще не было


Но Интернет то был?

Например: http://www.samblackburn.com/wfc/
Re[2]: RSDN handle library
От: Димчанский Литва http://dimchansky.github.io/
Дата: 08.06.04 08:58
Оценка:
Здравствуйте, Lexey, Вы писали:
L>Баги в CFile::MapViewOfFile и CFile::MapViewOfFileEx. Условие асерта должно быть обратным.

Не понял. Почему это?
Re[2]: RSDN handle library
От: Блудов Павел Россия  
Дата: 09.06.04 02:06
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Баги в CFile::MapViewOfFile и CFile::MapViewOfFileEx. Условие асерта должно быть обратным.


Там таких горбушек вагон и еще тележка. Надо новую версию закинуть.

Павел.
... << Rsdn@Home 1.1.4 beta 1 >>
Re[3]: RSDN handle library
От: Димчанский Литва http://dimchansky.github.io/
Дата: 09.06.04 05:54
Оценка:
Здравствуйте, Блудов Павел, Вы писали:
БП>Там таких горбушек вагон и еще тележка. Надо новую версию закинуть.

Закинете — дайте знать общественности. Plz
Re[4]: RSDN handle library
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 09.06.04 09:52
Оценка: 3 (1)
Здравствуйте, Димчанский, Вы писали:

Д>Здравствуйте, Блудов Павел, Вы писали:

БП>>Там таких горбушек вагон и еще тележка. Надо новую версию закинуть.

Д>Закинете — дайте знать общественности. Plz


общественность — налетай
Re[5]: RSDN handle library
От: Димчанский Литва http://dimchansky.github.io/
Дата: 09.06.04 09:58
Оценка:
Здравствуйте, Odi$$ey, Вы писали:
OE>общественность — налетай

Что, обновили уже?
Re[6]: RSDN handle library
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 09.06.04 10:05
Оценка:
Здравствуйте, Димчанский, Вы писали:

OE>>общественность — налетай

Д>Что, обновили уже?

ну, дык
Re[3]: RSDN handle library
От: Lexey Россия  
Дата: 09.06.04 15:05
Оценка:
Здравствуйте, Димчанский, Вы писали:

Д>Здравствуйте, Lexey, Вы писали:

L>>Баги в CFile::MapViewOfFile и CFile::MapViewOfFileEx. Условие асерта должно быть обратным.

Д>Не понял. Почему это?


По жизни. Может тебе уже новый вариант достался?
... << RSDN@Home 1.1.3 stable >>
"Будь достоин победы" (c) 8th Wizard's rule.
Re: RSDN handle library
От: Дарней Россия  
Дата: 23.07.04 09:51
Оценка:
Здравствуйте, Павел Блудов, Александр Корсуков, Владислав Чистяк, Вы писали:

ПБА>Библиотека классов-оберток для объектов ядра windows.


День добрый!
У меня тоже есть обертка на хэндл. Функциональность у нее немного поменьше, но есть полезная фича — класс можно использовать с разными типами хэндлов (не только теми, которые требуют CloseHandle) — т.е. хэндлы FindFirstFile, GDI objects и т.п.
Сам класс шаблонный, для разных видов хэндлов достаточно создать typedef
Если интересно, могу кинуть почтой
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: RSDN handle library
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 23.07.04 10:01
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>У меня тоже есть обертка на хэндл. Функциональность у нее немного поменьше, но есть полезная фича — класс можно использовать с разными типами хэндлов (не только теми, которые требуют CloseHandle) — т.е. хэндлы FindFirstFile, GDI objects и т.п.

Д>Сам класс шаблонный, для разных видов хэндлов достаточно создать typedef

Д>Если интересно, могу кинуть почтой


А почему не выложить здесь на форуме?
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[3]: RSDN handle library
От: Дарней Россия  
Дата: 23.07.04 12:10
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>А почему не выложить здесь на форуме?


и правда, почему бы и нет?

namespace Util {

    template<typename T_Handle, BOOL (WINAPI *CloseFun)(T_Handle)>
    class CSmartHandleT
    {
    public:
        CSmartHandleT() :
            m_Handle(0)
        {
        }

        explicit CSmartHandleT(T_Handle h)
            : m_Handle(h)
        {
        }

        ~CSmartHandleT() {
            Destroy();
        }

        T_Handle GetRaw() {
            return m_Handle;
        }

        bool IsEmpty() const {
                return 0 == m_Handle || T_Handle(-1) == m_Handle;
        }

        void Attach(T_Handle h) {
            Destroy();
            m_Handle = h;
        }
        
        T_Handle Detach() {
            T_Handle hTmp = m_Handle;
            m_Handle = 0;
            return hTmp;
        }

        void Destroy() {
            if (!IsEmpty())
            {
                BOOL bRes = (*CloseFun)(m_Handle);
                _ASSERTE(bRes);
                m_Handle = 0;
            }
        }
        
    private:
        CSmartHandleT(const CSmartHandleT&);
        CSmartHandleT& operator=(const CSmartHandleT&);
        
        T_Handle m_Handle;
    };

    typedef CSmartHandleT<HANDLE, CloseHandle> CHandle;
    typedef CSmartHandleT<HANDLE, FindClose> CFindHandle;
    typedef CSmartHandleT<HMODULE, FreeLibrary> CLibHandle;


операторы неявного приведения я не стал делать... нехорошо это, ИМХО
конструктор копирования и оператор присваивания тоже — за ненадобностью
список typedef можно расширять по своему вкусу и необходимости
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.