Protocols can only refer to handles that are compatible with their transport. For example, a protocol over the Zircon channel transport cannot refer to Fuchsia Driver Framework handles:
{% include “docs/reference/fidl/language/error-catalog/label/_bad.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0117.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
Instead, use handles that are compatible with the protocol's transport:
{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0117-a.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
Alternatively, change the transport of the protocol to match the handles:
{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0117-b.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}