class ScopedHGlobal {
public:
explicit ScopedHGlobal(HGLOBAL glob) : glob_(glob) {
- data_ = static_cast<T*>(GlobalLock(glob_));
+ data_ = static_cast<T>(GlobalLock(glob_));
}
~ScopedHGlobal() {
GlobalUnlock(glob_);
}
- T* get() { return data_; }
+ T get() { return data_; }
size_t Size() const { return GlobalSize(glob_); }
- T* operator->() const {
+ T operator->() const {
assert(data_ != 0);
return data_;
}
- T* release() {
- T* data = data_;
+ T release() {
+ T data = data_;
data_ = NULL;
return data;
}
private:
HGLOBAL glob_;
- T* data_;
+ T data_;
DISALLOW_COPY_AND_ASSIGN(ScopedHGlobal);
};