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.
89 lines
2.2 KiB
89 lines
2.2 KiB
//-----------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
|
//
|
|
// File: ccolinfo.hxx
|
|
//
|
|
// Contents: ColumnsInfo class Declaration
|
|
//
|
|
// Functions:
|
|
//
|
|
// Notes:
|
|
//
|
|
//
|
|
// History: 07/10/96 | RenatoB | Created, lifted most from EricJ
|
|
// code
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef _CCOLINFO_H_
|
|
#define _CCOLINFO_H_
|
|
|
|
#ifndef PUBLIC
|
|
|
|
#define PUBLIC
|
|
#endif
|
|
#ifndef PROTECTED
|
|
#define PROTECTED
|
|
#endif
|
|
#ifndef PRIVATE
|
|
#define PRIVATE
|
|
#endif
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// @class CLdap_ColumnsInfo | Implements IColumnsInfo for LDAP providers
|
|
// The only purpose of this class is to hook up CColInfo to
|
|
// CLdap_RowProvider, and maintain proper reference counts.
|
|
// All the work is done in CColInfo.
|
|
// We always delegate to CLdap_RowProvider.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CLdap_ColumnsInfo : public IColumnsInfo // public | IColumnsInfo
|
|
{
|
|
public: // public functions
|
|
|
|
CLdap_ColumnsInfo( CLdap_RowProvider *pObj);
|
|
~CLdap_ColumnsInfo();
|
|
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
|
|
|
|
// @cmember Get column info
|
|
STDMETHODIMP
|
|
GetColumnInfo(
|
|
DBORDINAL *pcColumns,
|
|
DBCOLUMNINFO **prgInfo,
|
|
WCHAR **ppStringsBuffer
|
|
);
|
|
|
|
// @cmember Map Column IDs
|
|
// NOTE: AutoDoc cannot parse this correctly.
|
|
STDMETHODIMP
|
|
MapColumnIDs(
|
|
DBORDINAL cColumnIDs,
|
|
const DBID rgColumnIDs[],
|
|
DBORDINAL rgColumns[]
|
|
);
|
|
|
|
// @cmember Set CColInfo object.
|
|
STDMETHODIMP
|
|
FInit(
|
|
DBORDINAL cColumns,
|
|
DBCOLUMNINFO *rgInfo,
|
|
OLECHAR *pStringsBuffer
|
|
);
|
|
|
|
|
|
private: //@access private data
|
|
|
|
CLdap_RowProvider *m_pObj; //@cmember base object
|
|
DBCOLUMNINFO* m_ColInfo ; //@cmember columns info object
|
|
DBORDINAL m_cColumns;
|
|
IMalloc *m_pMalloc;
|
|
OLECHAR *m_pwchBuf;
|
|
};
|
|
|
|
#endif //_CCOLINFO_H_
|