| Previous | Next |
| PEERDIST_ERROR_INVALID_CONFIGURATION | PEERDIST_ERROR_SERVICE_UNAVAILABLE |
PEERDIST_ERROR_NOT_LICENSED
The SKU is not licensed.
PEERDIST_ERROR_NOT_LICENSED is Win32 error 4064 (0xFE0) and belongs to Peer Distribution and BranchCache Windows edition and feature entitlement. The system description identifies the immediate condition but does not identify the caller, object, policy, device, service instance, or transition that produced it.
Interpret this result at the API boundary that returned it. Capture it before logging, cleanup, or another Windows call can replace the thread-local last-error value. Compare the recorded inputs with the documented precondition for Peer Distribution and BranchCache Windows edition and feature entitlement rather than starting with a broad system repair.
Where the result appears
- This result can surface during the Windows edition and feature entitlement stage of a PeerDist publisher or consumer.
- This result can surface during a BranchCache request where the installed Windows SKU is not licensed for the requested PeerDist capability.
- It can surface during an API call whose diagnosis depends on record OS edition, activation state, requested BranchCache mode, and feature installation.
- It can surface during a recovery path that must use a licensed edition or supported mode; retries and service restarts cannot add an absent SKU entitlement.
Likely causes
- the installed Windows SKU is not licensed for the requested PeerDist capability.
- the caller made a stale assumption during Windows edition and feature entitlement.
- the observed PeerDist state no longer matched record OS edition, activation state, requested BranchCache mode, and feature installation.
- the wrapper retried before it could use a licensed edition or supported mode; retries and service restarts cannot add an absent SKU entitlement.
Diagnostic sequence
Diagnosis of it starts with the exact request type: read, write, create, transition, validation, cancellation, or administrative action. Identify the object generation and subsystem owner, then decide whether the failure happened before side effects, during a partial transition, or after completion. This ordering matters in Peer Distribution and BranchCache Windows edition and feature entitlement because a blind retry can hide stale state or repeat a non-idempotent change.
- record record OS edition, activation state, requested BranchCache mode, and feature installation.
- record the exact PeerDist function involved in Windows edition and feature entitlement.
- record the object generation used for Windows edition and feature entitlement.
- record PeerDistSvc status while evaluating the installed Windows SKU is not licensed for the requested PeerDist capability.
- record origin fallback behavior before attempting to use a licensed edition or supported mode; retries and service restarts cannot add an absent SKU entitlement.
Correlate it with the owning component’s operational log, the Windows System log, and any subsystem trace. Telemetry for this Win32 error should preserve native identifiers such as a path or file ID, handle generation, node or peer identity, policy ID, object version, offset and length, or transaction token. Retain decimal 4064, hexadecimal 0xFE0, and the producing API even when a localized message is also shown.
State boundary to prove
The decisive boundary for this Win32 error is whether the installed Windows SKU is not licensed for the requested PeerDist capability. Prove or disprove that proposition using record OS edition, activation state, requested BranchCache mode, and feature installation together with the exact PeerDist function involved in Windows edition and feature entitlement. When observations for this Win32 error disagree, preserve both and inspect the transition between them instead of choosing the more convenient value.
A focused validation for this Win32 error should recreate the relevant part of this situation: an application enables hosted-cache behavior on an edition that lacks the entitlement; capability detection disables that option. The negative case should keep the responsible condition unchanged and confirm error 4064; the recovery case should change only that condition and verify a successful result without an unrecorded side effect.
Suggested diagnostic fields
For error 4064, keep winerr_4064_api, winerr_4064_object, winerr_4064_state_before, winerr_4064_request, winerr_4064_first_status, winerr_4064_verification. These fields distinguish the initial state, requested transition, first status, and verified recovery result.
Handling, retry, and recovery
use a licensed edition or supported mode; retries and service restarts cannot add an absent SKU entitlement A retry is justified only after the recorded state that produced this specific code has changed.
Retry it only after evidence shows a change in Peer Distribution and BranchCache Windows edition and feature entitlement. Initialization, asynchronous completion, recall, or service readiness can justify bounded backoff; malformed metadata, invalid identifiers, policy rejection, unsupported versions, and integrity failures require correction. Before repeating a write or configuration operation after it, query completion state explicitly.
What to log for support and telemetry
- log decimal 4064, hexadecimal
0xFE0, and the producing API. - log the target object and observed Peer Distribution and BranchCache Windows edition and feature entitlement state.
- log caller identity, process and thread IDs, machine or node identity, and UTC time.
- log attempt number, elapsed time, previous result, and any partial side effect.
- retain the first lower-level or component-specific error before Win32 translation.
Difference from nearby codes
SERVICE_UNAVAILABLE is temporal service state, while NOT_LICENSED is a stable product capability decision.
Practical example
An application enables hosted-cache behavior on an edition that lacks the entitlement; capability detection disables that option.
Developer and administrator guidance
Code that handles it should keep its Win32 domain visible across exceptions, RPC responses, and JSON or REST wrappers. Administrators should verify the subsystem evidence before changing policy, deleting state, forcing failover, or replacing storage. Recovery is demonstrated only when a test observes 4064, changes the responsible condition, and confirms that the same operation succeeds without hidden data loss.
References
- Microsoft: System Error Codes (4000–5999) — reference for error 4064.
- Microsoft: Peer Distribution API — reference for error 4064.
- Microsoft: peerdist.h API reference — reference for error 4064.
- Microsoft: BranchCache — reference for error 4064.
Looking for a different code? Search another status or error code.
