GitHub    Download    Forum
Overview
Tutorial
C++ API
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
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

int GetSchemaData(
UInt32 p_ulOffset,
UInt32 p_ulSize,
Array<Byte> p_pData,
ISignal p_pSignalObject
);

Parameter

p_ulOffset
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_ulSize
Type: UInt32
Size of the data that should be retrieved.
p_pData
Type: Array<Byte>
Variable that receives the data.
p_pSignalObject
Type: ISignal
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