Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
description: "Learn more about: DacpAppDomainData Structure"
title: "DacpAppDomainData Structure"
ms.date: "07/30/2026"
api.name:
- "DacpAppDomainData Structure"
api.location:
- "mscordacwks.dll"
api.type:
- "COM"
f1.keywords:
- "DacpAppDomainData Structure"
helpviewer.keywords:
- "DacpAppDomainData Structure [.NET Framework debugging]"
topic_type:
- "apiref"
ai-usage: ai-assisted
author: "leculver"
ms.author: "leculver"
---
# DacpAppDomainData Structure

Defines a transport buffer for runtime application domain information.

[!INCLUDE[debugging-api-recommended-note](../../../../includes/debugging-api-recommended-note.md)]

## Syntax

```cpp
struct DacpAppDomainData : ZeroInit<DacpAppDomainData>
{
// The pointer to the BaseDomain (not necessarily an AppDomain).
// It's useful to keep this around in the structure
CLRDATA_ADDRESS AppDomainPtr;
CLRDATA_ADDRESS AppSecDesc;
CLRDATA_ADDRESS pLowFrequencyHeap;
CLRDATA_ADDRESS pHighFrequencyHeap;
CLRDATA_ADDRESS pStubHeap;
CLRDATA_ADDRESS DomainLocalBlock;
CLRDATA_ADDRESS pDomainLocalModules;
// The creation sequence number of this app domain (starting from 1)
DWORD dwId;
LONG AssemblyCount;
LONG FailedAssemblyCount;
DacpAppDomainDataStage appDomainStage;

HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return sos->GetAppDomainData(addr, this);
}
};
```

## Members

| Member | Description |
| ------ | ----------- |
| `AppDomainPtr` | The address of the base domain. For an application domain, this value is the application domain address. |
| `AppSecDesc` | The address of the application security descriptor. |
| `pLowFrequencyHeap` | The address of the low-frequency loader heap. |
| `pHighFrequencyHeap` | The address of the high-frequency loader heap. |
| `pStubHeap` | The address of the stub heap. |
| `DomainLocalBlock` | The address of the domain local block. |
| `pDomainLocalModules` | The address of the domain local modules. |
| `dwId` | The creation sequence number of the application domain, starting from 1. |
| `AssemblyCount` | The number of assemblies in the application domain. |
| `FailedAssemblyCount` | The number of failed assemblies in the application domain. |
| `appDomainStage` | A `DacpAppDomainDataStage` value that indicates the application domain lifecycle stage. |
| `Request` | Populates the structure by calling `ISOSDacInterface::GetAppDomainData`. |

## Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

## Requirements

**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
**Header:** None
**Library:** None
**.NET Framework Versions:** [!INCLUDE[net_current_v47plus](../../../../includes/net-current-v47plus.md)]

## See also

- [Debugging](index.md)
- [Debugging Structures](debugging-structures.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
description: "Learn more about: DacpAppDomainStoreData Structure"
title: "DacpAppDomainStoreData Structure"
ms.date: "07/30/2026"
api.name:
- "DacpAppDomainStoreData Structure"
api.location:
- "mscordacwks.dll"
api.type:
- "COM"
f1.keywords:
- "DacpAppDomainStoreData Structure"
helpviewer.keywords:
- "DacpAppDomainStoreData Structure [.NET Framework debugging]"
topic_type:
- "apiref"
ai-usage: ai-assisted
author: "leculver"
ms.author: "leculver"
---
# DacpAppDomainStoreData Structure

Defines a transport buffer for runtime application domain store information.

[!INCLUDE[debugging-api-recommended-note](../../../../includes/debugging-api-recommended-note.md)]

## Syntax

```cpp
struct DacpAppDomainStoreData : ZeroInit<DacpAppDomainStoreData>
{
CLRDATA_ADDRESS sharedDomain;
CLRDATA_ADDRESS systemDomain;
LONG DomainCount;

HRESULT Request(ISOSDacInterface *sos)
{
return sos->GetAppDomainStoreData(this);
}
};
```

## Members

| Member | Description |
| ------ | ----------- |
| `sharedDomain` | The address of the shared domain. |
| `systemDomain` | The address of the system domain. |
| `DomainCount` | The number of application domains in the runtime. |
| `Request` | Populates the structure by calling `ISOSDacInterface::GetAppDomainStoreData`. |

## Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

## Requirements

**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
**Header:** None
**Library:** None
**.NET Framework Versions:** [!INCLUDE[net_current_v47plus](../../../../includes/net-current-v47plus.md)]

## See also

- [Debugging](index.md)
- [Debugging Structures](debugging-structures.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
description: "Learn more about: DacpAssemblyData Structure"
title: "DacpAssemblyData Structure"
ms.date: "07/30/2026"
api.name:
- "DacpAssemblyData Structure"
api.location:
- "mscordacwks.dll"
api.type:
- "COM"
f1.keywords:
- "DacpAssemblyData Structure"
helpviewer.keywords:
- "DacpAssemblyData Structure [.NET Framework debugging]"
topic_type:
- "apiref"
ai-usage: ai-assisted
author: "leculver"
ms.author: "leculver"
---
# DacpAssemblyData Structure

Defines a transport buffer for runtime assembly information.

[!INCLUDE[debugging-api-recommended-note](../../../../includes/debugging-api-recommended-note.md)]

## Syntax

```cpp
struct DacpAssemblyData : ZeroInit<DacpAssemblyData>
{
CLRDATA_ADDRESS AssemblyPtr; //useful to have
CLRDATA_ADDRESS ClassLoader;
CLRDATA_ADDRESS ParentDomain;
CLRDATA_ADDRESS BaseDomainPtr;
CLRDATA_ADDRESS AssemblySecDesc;
BOOL isDynamic;
UINT ModuleCount;
UINT LoadContext;
BOOL isDomainNeutral;
DWORD dwLocationFlags;

HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr, CLRDATA_ADDRESS baseDomainPtr)
{
return sos->GetAssemblyData(baseDomainPtr, addr, this);
}

HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return Request(sos, addr, NULL);
}
};
```

## Members

| Member | Description |
| ------ | ----------- |
| `AssemblyPtr` | The address of the assembly. |
| `ClassLoader` | The address of the class loader for the assembly. |
| `ParentDomain` | The address of the parent application domain. |
| `BaseDomainPtr` | The address of the base domain that contains the assembly. |
| `AssemblySecDesc` | The address of the assembly security descriptor. |
| `isDynamic` | A value that indicates whether the assembly is dynamic. |
| `ModuleCount` | The number of modules in the assembly. |
| `LoadContext` | The assembly load context value. |
| `isDomainNeutral` | A value that indicates whether the assembly is domain-neutral. |
| `dwLocationFlags` | A bitmask of location flags for the assembly. |
| `Request` | Populates the structure by calling `ISOSDacInterface::GetAssemblyData`. |

## Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

## Requirements

**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
**Header:** None
**Library:** None
**.NET Framework Versions:** [!INCLUDE[net_current_v47plus](../../../../includes/net-current-v47plus.md)]

## See also

- [Debugging](index.md)
- [Debugging Structures](debugging-structures.md)
88 changes: 88 additions & 0 deletions docs/framework/unmanaged-api/debugging/dacpccwdata-structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
description: "Learn more about: DacpCCWData Structure"
title: "DacpCCWData Structure"
ms.date: "07/30/2026"
api.name:
- "DacpCCWData Structure"
api.location:
- "mscordacwks.dll"
api.type:
- "COM"
f1.keywords:
- "DacpCCWData Structure"
helpviewer.keywords:
- "DacpCCWData Structure [.NET Framework debugging]"
topic_type:
- "apiref"
ai-usage: ai-assisted
author: "leculver"
ms.author: "leculver"
---
# DacpCCWData Structure

Defines a transport buffer for COM callable wrapper (CCW) information.

[!INCLUDE[debugging-api-recommended-note](../../../../includes/debugging-api-recommended-note.md)]

## Syntax

```cpp
struct DacpCCWData : ZeroInit<DacpCCWData>
{
CLRDATA_ADDRESS outerIUnknown;
CLRDATA_ADDRESS managedObject;
CLRDATA_ADDRESS handle;
CLRDATA_ADDRESS ccwAddress;

LONG refCount;
LONG interfaceCount;
BOOL isNeutered;

LONG jupiterRefCount;
BOOL isPegged;
BOOL isGlobalPegged;
BOOL hasStrongRef;
BOOL isExtendsCOMObject;
BOOL isAggregated;

HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS ccw)
{
return sos->GetCCWData(ccw, this);
}
};
```

## Members

| Member | Description |
| ------ | ----------- |
| `outerIUnknown` | The address of the outer `IUnknown` pointer. |
| `managedObject` | The address of the managed object associated with the CCW. |
| `handle` | The address of the handle for the managed object. |
| `ccwAddress` | The address of the CCW. |
| `refCount` | The reference count for the CCW. |
| `interfaceCount` | The number of interfaces associated with the CCW. |
| `isNeutered` | A value that indicates whether the CCW is neutered. |
| `jupiterRefCount` | The Jupiter reference count for the CCW. |
| `isPegged` | A value that indicates whether the CCW is pegged. |
| `isGlobalPegged` | A value that indicates whether the CCW is globally pegged. |
| `hasStrongRef` | A value that indicates whether the CCW has a strong reference. |
| `isExtendsCOMObject` | A value that indicates whether the managed object extends a COM object. |
| `isAggregated` | A value that indicates whether the CCW is aggregated. |
| `Request` | Populates the structure by calling `ISOSDacInterface::GetCCWData`. |

## Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

## Requirements

**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
**Header:** None
**Library:** None
**.NET Framework Versions:** [!INCLUDE[net_current_v47plus](../../../../includes/net-current-v47plus.md)]

## See also

- [Debugging](index.md)
- [Debugging Structures](debugging-structures.md)
Loading
Loading