class DuplicateSync

Defined at line 963 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/markers.h

This method can be used to add more participants prior to creating a

shared BufferCollection. A new token will be returned for each entry in

the `rights_attenuation_masks` array. The return value is the client

ends of each new participant token.

If the calling token may not actually be a valid token at all due to

a potentially hostile/untrusted provider of the token, consider using

ValidateBufferCollectionToken() first instead of potentially getting

stuck indefinitely if DuplicateSync() never responds due to the calling

token not being a real token.

In contrast to Duplicate(), no Sync() (see "protocol Node") is needed

after calling this method.

All tokens must be turned in via BindSharedCollection() or Close() for a

BufferCollection to be successfully created.

In each entry of `rights_attenuation_masks`, rights bits that are zero

will be absent in the buffer VMO rights obtainable via the corresponding

returned token. This allows an initiator or intermediary participant to

attenuate the rights available to a participant. This does not allow a

participant to gain rights that the participant doesn't already have.

The value ZX_RIGHT_SAME_RIGHTS can be used to specify that no

attenuation should be applied.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal