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.
|
|
/*++
Copyright (c) 1994-1999 Microsoft Corporation
Module Name :
utcls.h
Abstract:
Some utility functions and classes.
Author:
Ronald Meijer (ronaldm)
Project:
Internet Services Manager
Revision History:
--*/
#ifndef _UTCLS_H_
#define _UTCLS_H_
//
// CDialog parameters
//
#define USE_DEFAULT_CAPTION (0)
//
// Determine if the given server name refers to the local machine
//
BOOL COMDLL IsServerLocal( IN LPCTSTR lpszServer );
//
// Get volume information system flags for the given path
//
BOOL COMDLL GetVolumeInformationSystemFlags( IN LPCTSTR lpszPath, OUT DWORD * pdwSystemFlags );
//
// Build registry key name
//
LPCTSTR COMDLL GenerateRegistryKey( OUT CString & strBuffer, IN LPCTSTR lpszSubKey = NULL );
class COMDLL CBlob /*++
Class Description:
Binary large object class, which owns its pointer
Public Interface:
CBlob : Constructors ~CBlob : Destructor
SetValue : Assign the value GetSize : Get the byte size GetData : Get pointer to the byte stream
--*/ { //
// Constructors/Destructor
//
public: //
// Initialize empty blob
//
CBlob();
//
// Initialize with binary data
//
CBlob( IN DWORD dwSize, IN PBYTE pbItem, IN BOOL fMakeCopy = TRUE );
//
// Copy constructor
//
CBlob(IN const CBlob & blob);
//
// Destructor destroys the pointer
//
~CBlob();
//
// Operators
//
public: CBlob & operator =(const CBlob & blob); BOOL operator ==(const CBlob & blob) const; BOOL operator !=(const CBlob & blob) const { return !operator ==(blob); }
//
// Access
//
public: //
// Clean up internal data
//
void CleanUp();
//
// Set the current value of the blob
//
void SetValue( IN DWORD dwSize, IN PBYTE pbItem, IN BOOL fMakeCopy = TRUE );
//
// TRUE if the blob is currently empty
//
BOOL IsEmpty() const { return m_dwSize == 0L; }
//
// Return the size of the blob in bytes
//
DWORD GetSize() const { return m_dwSize; }
//
// Get a pointer to the byte stream
//
PBYTE GetData();
private: DWORD m_dwSize; PBYTE m_pbItem; };
//
// Inline Expansion
//
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
inline CBlob::~CBlob() { CleanUp(); }
inline PBYTE CBlob::GetData() { return m_pbItem; }
#endif // _UTCLS_H_
|