in csharp/src/ZStdDecompress.cs [628:637]
static size_t DecodeFrameHeader(ZSTD_DCtx dctx, void* src, size_t headerSize)
{
size_t result = ZSTD_getFrameHeader_advanced(ref dctx.fParams, src, headerSize, dctx.format);
if (IsError(result)) return result; /* invalid header */
if (result > 0) return ERROR(Error.srcSize_wrong); /* headerSize too small */
if (dctx.fParams.dictID != 0 && (dctx.dictID != dctx.fParams.dictID))
return ERROR(Error.dictionary_wrong);
if (dctx.fParams.checksumFlag != 0) XXH64_reset(dctx.xxhState, 0);
return 0;
}