mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
2.6 KiB
128 lines
2.6 KiB
#if !defined( _INDEX_BUFFER_EDIT_ )
|
|
|
|
#define _INDEX_BUFFER_EDIT_
|
|
|
|
#include "vscroll.hxx"
|
|
|
|
DECLARE_CLASS( INDEX_BUFFER_BASE );
|
|
DECLARE_CLASS( NAME_INDEX_BUFFER_EDIT );
|
|
DECLARE_CLASS( SECURITY_ID_INDEX_BUFFER_EDIT );
|
|
DECLARE_CLASS( SECURITY_HASH_INDEX_BUFFER_EDIT );
|
|
|
|
class INDEX_BUFFER_BASE : public VERTICAL_TEXT_SCROLL {
|
|
|
|
public:
|
|
|
|
VIRTUAL
|
|
BOOLEAN
|
|
Initialize(
|
|
IN HWND WindowHandle,
|
|
IN INT ClientHeight,
|
|
IN INT ClientWidth,
|
|
IN PLOG_IO_DP_DRIVE Drive
|
|
);
|
|
|
|
VIRTUAL
|
|
VOID
|
|
SetBuf(
|
|
IN HWND WindowHandle,
|
|
IN OUT PVOID Buffer,
|
|
IN ULONG Size DEFAULT 0
|
|
);
|
|
|
|
VIRTUAL
|
|
VOID
|
|
Paint(
|
|
IN HDC DeviceContext,
|
|
IN RECT InvalidRect,
|
|
IN HWND WindowHandle
|
|
);
|
|
|
|
|
|
VIRTUAL
|
|
VOID
|
|
KeyUp(
|
|
IN HWND WindowHandle
|
|
);
|
|
|
|
VIRTUAL
|
|
VOID
|
|
KeyDown(
|
|
IN HWND WindowHandle
|
|
);
|
|
|
|
private:
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
PaintIndexRoot(
|
|
IN HDC DeviceContext,
|
|
IN RECT InvalidRect,
|
|
IN HWND WindowHandle
|
|
);
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
WalkAndPaintIndexRecords(
|
|
IN HDC DeviceContext,
|
|
IN ULONG Offset,
|
|
IN OUT int &CurrentLine
|
|
);
|
|
|
|
protected:
|
|
|
|
VIRTUAL
|
|
VOID
|
|
PaintIndexRecord(
|
|
IN HDC DeviceContext,
|
|
IN PINDEX_ENTRY IndexEntry,
|
|
IN OUT int &CurrentLine
|
|
) = 0;
|
|
|
|
PVOID _buffer;
|
|
ULONG _size;
|
|
};
|
|
|
|
class NAME_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
|
|
|
|
protected:
|
|
|
|
VIRTUAL
|
|
VOID
|
|
PaintIndexRecord(
|
|
IN HDC DeviceContext,
|
|
IN PINDEX_ENTRY IndexEntry,
|
|
IN OUT int & CurrentLine
|
|
);
|
|
|
|
};
|
|
|
|
class SECURITY_ID_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
|
|
|
|
protected:
|
|
|
|
VIRTUAL
|
|
VOID
|
|
PaintIndexRecord(
|
|
IN HDC DeviceContext,
|
|
IN PINDEX_ENTRY IndexEntry,
|
|
IN OUT int & CurrentLine
|
|
);
|
|
|
|
};
|
|
|
|
class SECURITY_HASH_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
|
|
|
|
protected:
|
|
|
|
VIRTUAL
|
|
VOID
|
|
PaintIndexRecord(
|
|
IN HDC DeviceContext,
|
|
IN PINDEX_ENTRY IndexEntry,
|
|
IN OUT int & CurrentLine
|
|
);
|
|
|
|
};
|
|
|
|
#endif
|