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.
63 lines
1.4 KiB
63 lines
1.4 KiB
//____________________________________________________________________________
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1996 - 1997.
|
|
//
|
|
// File: MMCUtil.h
|
|
//
|
|
// Contents:
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions: WriteToStream
|
|
// ReadFromStream
|
|
// ListView_GetItemData
|
|
//
|
|
// History: 12/4/1996 RaviR Created
|
|
//____________________________________________________________________________
|
|
//
|
|
|
|
#ifndef _MMCUTIL_H_
|
|
#define _MMCUTIL_H_
|
|
|
|
#define MMC_CLSCTX_INPROC (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER)
|
|
|
|
|
|
inline void WriteToStream(IStream& stream, void const* pv, ULONG cbToWrite)
|
|
{
|
|
ULONG bytesWritten;
|
|
HRESULT hr = stream.Write(pv, cbToWrite, &bytesWritten);
|
|
ANT(SUCCEEDED(hr) && bytesWritten == cbToWrite,
|
|
COMEX(hr, UnableToWriteToStream));
|
|
}
|
|
|
|
|
|
inline void ReadFromStream(IStream& stream, void* pv, ULONG cbToRead)
|
|
{
|
|
unsigned long bytesRead;
|
|
HRESULT hr = stream.Read(pv, cbToRead, &bytesRead);
|
|
ANT(SUCCEEDED(hr) && bytesRead == cbToRead, COMEX(hr, UnableToLoad));
|
|
}
|
|
|
|
|
|
inline ListView_GetItemData(HWND hwnd, int iItem)
|
|
{
|
|
LV_ITEM lvi;
|
|
ZeroMemory(&lvi, sizeof(lvi));
|
|
|
|
if (iItem >= 0)
|
|
{
|
|
lvi.iItem = iItem;
|
|
lvi.mask = LVIF_PARAM;
|
|
VERIFY(::SendMessage(hwnd, LVM_GETITEM, 0, (LPARAM)&lvi) == TRUE);
|
|
}
|
|
|
|
return lvi.lParam;
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif // _MMCUTIL_H_
|
|
|
|
|