GitHub    Download    Forum
Overview
Tutorial
C++ API
General interfaces
Data interfaces
UDomain
GetSchemaData
GetSchemaVersion
QueryNamedLink
QueryNamedLinkFull
QueryNamedLinkFullMultiple
QueryNamedLinkId
QueryNamedObject
QueryNamedObjectId
QueryNamedObjectLink
QueryNamedObjectMultiple
QueryStorage
UStorage
UObject
UList
UBitFlagSet
UBitFlagSetSingle
WDomain
WObject
IEventClient
Schema interfaces
Configuration interfaces
Callback interfaces
Structures
Error codes
DataAccess interfaces
C# API
WinRT API
DTDL
DADL
Setup

UDomain::GetSchemaData

Reads schema data from the domain. Data can be read in multiple blocks and be used to create or update a local copy of the schema (TSchema::AddDelta).

Syntax

HRESULT GetSchemaData(
[in] UINT32 p_ulOffset,
[in, out] UINT32* p_pulSize,
[out] void* p_pData,
[in] ISignal* p_pSignalObject
);

Parameter

p_ulOffset [in]
Type: UINT32
Offset that the data should be retrieved from.
Schema data is a contiguous block of data.
Normally, the current version of the local TSchema object is passed for this parameter. In this way, you can retrieve the data you need to update the local TSchema object.
p_pulSize [in, out]
Type: UINT32*
On input contains the size of the buffer that p_pData is pointing to. The variable contains the size of bytes copied to p_pData on successful return.
p_pData [out]
Type: void*
Pointer to a buffer.
p_pSignalObject [in]
Type: ISignal*
Pointer to a signal that is used in asynchronous execution to wait for completion and retrieve the result.
If NULL is passed, the function is executed synchronously and blocks until the result is available.

Return value

S_OK if data has been written to p_pData and the p_pSchemaVersion is modified. S_FALSE if no data has been written (because there was no additional schema data to get). Otherwise, a code from the Error Codes.

Remarks

Schema data never changes. If you retrieved data in an earlier call, you only need to read the new data. Set the p_ulOffset to the size of data you already retrieved to read the additional data.
Compare the schema version to determine if new data is available at startup.
© 2025 Mobiland AG