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) 1997-1999 Microsoft Corporation
//
// class Extractor
//
// 11-12-97 sburns
#ifndef EXTRACT_HPP_INCLUDED
#define EXTRACT_HPP_INCLUDED
// Extractor encapsulates clipboard extraction buffers, allocating and
// initializing them upon construction, deallocating them upon deletion. By
// keeping a single (static) instance of an Extractor around, one can avoid
// allocation/deallocation for each extraction operation, and be assured that
// cleanup occurs properly.
class Extractor { protected:
// Creates a new instance. Declared protected so as to function only
// as a base class.
//
// clipFormatID - clipboard format ID returned from Win
// RegisterClipboardFormat.
//
// bufSize - the buffer size, in bytes, required to extract the data in the
// clipboard format expressed by the clipFormatID parameter.
Extractor(CLIPFORMAT clipFormatID, size_t bufSize);
virtual ~Extractor();
// Calls GetDataHere on the data object, returning a pointer to the buffer
// if the call was successful, or 0 if the call failed. The invoker should
// NOT free the returned HGLOBAL, as this is managed by the object.
//
// dataObject - the data object from which the clipboard data should be
// extracted.
HGLOBAL ExtractData(IDataObject& dataObject);
private:
// not implemented: no copying allowed
Extractor(const Extractor&); const Extractor& operator=(const Extractor&);
FORMATETC formatetc; STGMEDIUM stgmedium; size_t bufSize; };
#endif // EXTRACT_HPP_INCLUDED
|