---
name: "MSVCRT___RTDynamicCast"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/MSVCRT___RTDynamicCast"
---

# MSVCRT\_\_\_RTDynamicCast(3w)

## NAME

**MSVCRT\_\_\_RTDynamicCast** (MSVCRT.@)

## SYNOPSIS

void\* CDECL  MSVCRT\_\_\_RTDynamicCast\
  (\
   void\*      *cppobj*,\
   int        *unknown*,\
   type\_info\* *src*,\
   type\_info\* *dst*,\
   int        *do\_throw*\
  )

## DESCRIPTION

Dynamically cast a C++ object to one of its base classes.

## PARAMS

*cppobj* **\[In\]**  Any C++ object to cast.

*unknown* **\[In\]**  Reserved, set to **0.**

*src* **\[In\]**  type\_info object describing *cppobj*.

*dst* **\[In\]**  type\_info object describing the base class to cast to.

*do\_throw* **\[In\]**  **TRUE** = throw an exception if the cast fails, **FALSE** = don't.

## RETURNS

**Success:** The address of *cppobj*, cast to the object described by *dst*.

**Failure:** **NULL**, If the object to be cast has no **RTTI**, or *dst* is not a valid cast for *cppobj*. If *do\_throw* is **TRUE**, a bad\_cast exception is thrown and this function does not return.

## NOTES

This function is usually called by compiler generated code as a result of using one of the C++ dynamic cast statements.

## IMPLEMENTATION

Not declared in a Wine header. The function is either undocumented, or missing from Wine.

Implemented in **"dlls/msvcrt/cpp.c"**.

Debug channel **"msvcrt"**.
