public Result GetNpdm(out Npdm npdm) { Assert.SdkRequires(_isValid); Assert.SdkRequiresEqual(MetaCacheBufferSize, _npdmBuffer.Length); if (!_isValid) { npdm = default; return(ResultLoader.InvalidMeta.Log()); } npdm = GetNpdmFromBufferUnsafe(ref MemoryMarshal.GetArrayDataReference(_npdmBuffer)); return(Result.Success); }
public static Result GetNpdmFromBuffer(out Npdm npdm, ReadOnlySpan <byte> npdmBuffer) { npdm = default; int npdmSize = npdmBuffer.Length; if (npdmSize > MetaCacheBufferSize) { return(ResultLoader.TooLargeMeta.Log()); } Result rc = ValidateMeta(npdmBuffer); if (rc.IsFailure()) { return(rc); } ref readonly Meta meta = ref Unsafe.As <byte, Meta>(ref MemoryMarshal.GetReference(npdmBuffer));