class GetBufferCollectionId
Defined at line 1315 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/markers.h
Get the buffer collection ID. This ID is also available from
[`fuchsia.sysmem2/Allocator.GetVmoInfo`] (along with the `buffer_index`
within the collection).
This call is mainly useful in situations where we can't convey a
[`fuchsia.sysmem2/BufferCollectionToken`] or
[`fuchsia.sysmem2/BufferCollection`] directly, but can only convey a VMO
handle, which can be joined back up with a `BufferCollection` client end
that was created via a different path. Prefer to convey a
`BufferCollectionToken` or `BufferCollection` directly when feasible.
Trusting a `buffer_collection_id` value from a source other than sysmem
is analogous to trusting a koid value from a source other than zircon.
Both should be avoided unless really necessary, and both require
caution. In some situations it may be reasonable to refer to a
pre-established `BufferCollection` by `buffer_collection_id` via a
protocol for efficiency reasons, but an incoming value purporting to be
a `buffer_collection_id` is not sufficient alone to justify granting the
sender of the `buffer_collection_id` any capability. The sender must
first prove to a receiver that the sender has/had a VMO or has/had a
`BufferCollectionToken` to the same collection by sending a handle that
sysmem confirms is a valid sysmem handle and which sysmem maps to the
`buffer_collection_id` value. The receiver should take care to avoid
assuming that a sender had a `BufferCollectionToken` in cases where the
sender has only proven that the sender had a VMO.
- response `buffer_collection_id` This ID is unique per buffer
collection per boot. Each buffer is uniquely identified by the
`buffer_collection_id` and `buffer_index` together.
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