CONTAINING_RECORD macro (ntdef.h)

The CONTAINING_RECORD macro returns the base address of an instance of a structure given the type of the structure and the address of a field within the containing structure.

Syntax

void CONTAINING_RECORD(
   address,
   type,
   field
);

Parameters

address

[in] A pointer to a field in an instance of a structure of type Type.

type

[in] The name of the type of the structure whose base address is to be returned.

field

[in] The name of the field pointed to by Address and which is contained in a structure of type Type.

Return value

None

Remarks

Returns a PCHAR containing the address of the base of the structure containing Field.

Called to determine the base address of a structure whose type is known when the caller has a pointer to a field inside such a structure. This macro is useful for symbolically accessing other fields in a structure of known type.

Requirements

Requirement Value
Minimum supported client Windows 2000
Header ntdef.h
IRQL Any level