Leaked source code of windows server 2003
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.
|
|
//--------------------------------------------------------------------
// Microsoft OLE-DB Monarch
//
// Copyright 1997 Microsoft Corporation. All Rights Reserved.
//
// @doc
//
// @module treeutil.h |
//
// Contains prototypes for tree manipulation utility functions for OLE-DB trees.
//
//
// @rev 0 | 04-Feb-97 | v-charca | Created
//
#ifdef DEBUG
#include <iostream.h>
#endif
// Change a variant to from BSTR to I8 or UI8
HRESULT PropVariantChangeTypeI64(PROPVARIANT* pvarValue);
////////// OLE-DB tree manipulation prototypes /////////////
//Allocate a tree of given kind and type.
DBCOMMANDTREE * PctAllocNode(DBVALUEKIND wKind,DBCOMMANDOP op = DBOP_DEFAULT);
// Make a list of dbcommandtree nodes
//--------------------------------------------------------------------
// @func Links two DBCOMMANDTREEs together.
//
// @rdesc (inline) DBCOMMANDTREE *
//
_inline DBCOMMANDTREE * PctLink ( DBCOMMANDTREE *pct1, // @parm IN | 1st node in list
DBCOMMANDTREE *pct2 // @parm IN | 2nd node in list
) { Assert(pct1 != NULL && pct2 != NULL); DBCOMMANDTREE* pct = pct1; while(pct->pctNextSibling != NULL) pct = pct->pctNextSibling; pct->pctNextSibling = pct2;
return pct1; }
DBCOMMANDTREE * PctCreateNode(DBCOMMANDOP op, DBVALUEKIND wKind, DBCOMMANDTREE * pctxpr, ...); DBCOMMANDTREE * PctCreateNode(DBCOMMANDOP op, DBCOMMANDTREE * pctxpr, ...); DBCOMMANDTREE * PctReverse(DBCOMMANDTREE * pct);
// Count the number of siblings of a node
UINT GetNumberOfSiblings(DBCOMMANDTREE *pct);
// Delete tree
void DeleteDBQT(DBCOMMANDTREE * pct);
// Copy a tree.
HRESULT HrQeTreeCopy(DBCOMMANDTREE **pctDest, const DBCOMMANDTREE *pctSrc);
void SetDepthAndInclusion( DBCOMMANDTREE* pctInfo, DBCOMMANDTREE * pctScpList );
// Defined in querylib.lib
BOOL ParseGuid( WCHAR* pwszGuid, GUID & guid );
#ifdef DEBUG
// Print a wide character string
ostream& operator <<(ostream &osOut, LPWSTR pwszName); // Print given tree
ostream& operator <<(ostream &osOut, DBCOMMANDTREE& qe); ostream& operator <<(ostream &osOut, GUID guid); ostream& operator <<(ostream &osOut, DBID __RPC_FAR *pdbid);
#endif
|