---
name: "EMF_ENHMETAHEADER"
section: "3"
platform: "linux"
package: "libemf-doc"
version: "1.0.13-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/EMF_ENHMETAHEADER"
---

# EMF\_ENHMETAHEADER(3)

Enhanced Metafile Header Record.

## NAME

EMF::ENHMETAHEADER - Enhanced Metafile Header Record.

## SYNOPSIS

`#include <libemf.h>`

Inherits **EMF::METARECORD**, and ENHMETAHEADER.

### Public Member Functions

**ENHMETAHEADER** (LPCWSTR description=0)\
 **~ENHMETAHEADER** ()\
 bool **serialize** (**DATASTREAM** ds)\
 bool **unserialize** (**DATASTREAM** ds)\
 int **size** (void) const\
 void **execute** (**METAFILEDEVICECONTEXT** \*source, HDC dc) const\

Public Member Functions inherited from **EMF::METARECORD** virtual **~METARECORD** ()\

## Detailed Description

Enhanced Metafile Header Record.

The **ENHMETAHEADER** serves two purposes in this library: it keeps track of the size of the metafile (in physical dimensions) and number of records and handles that are ultimately to be written to the disk file. It is also a real record that must be written out.

## Constructor & Destructor Documentation

### EMF::ENHMETAHEADER::ENHMETAHEADER (LPCWSTR description = `0`)` [inline]`

**Parameters**

*description* an optional description argument is a UNICODE-like string with the following format: 'some text\\0some more text\\0\\0'. The W32 interface defines UNICODE characters to be two-byte (unsigned short strings). The constructor makes a copy of the argument.

### EMF::ENHMETAHEADER::~ENHMETAHEADER ()` [inline]`

Destructor deletes memory allocated for description.

## Member Function Documentation

### void EMF::ENHMETAHEADER::execute (METAFILEDEVICECONTEXT \* source, HDC dc) const` [inline]`, ` [virtual]`

Execute this record in the context of the given device context.

**Parameters**

*source* the device context from which this record is taken. \
 *dc* device context for execute.

Implements **EMF::METARECORD**.

### bool EMF::ENHMETAHEADER::serialize (DATASTREAM ds)` [inline]`, ` [virtual]`

Serializing the header is an example of an extended record.

**Parameters**

*ds* Metafile datastream.

Implements **EMF::METARECORD**.

### int EMF::ENHMETAHEADER::size (void) const` [inline]`, ` [virtual]`

Internally computed size of this record.

Implements **EMF::METARECORD**.

Referenced by **EMF::METAFILEDEVICECONTEXT::nextHandle()**.

### bool EMF::ENHMETAHEADER::unserialize (DATASTREAM ds)` [inline]`

Read a header record from the datastream.

## Author

Generated automatically by Doxygen for libemf from the source code.
