void SnapShot::EmitSnapshot(int64 snapId, ThreadContext* threadContext) const { char asciiResourceName[64]; sprintf_s(asciiResourceName, 64, "snap_%I64i.snp", snapId); JsTTDStreamHandle snapHandle = threadContext->TTDStreamFunctions.pfGetResourceStream(threadContext->TTDUri.UriByteLength, threadContext->TTDUri.UriBytes, asciiResourceName, false, true); TTD_SNAP_WRITER snapwriter(snapHandle, TTD_COMPRESSED_OUTPUT, threadContext->TTDStreamFunctions.pfWriteBytesToStream, threadContext->TTDStreamFunctions.pfFlushAndCloseStream); this->EmitSnapshotToFile(&snapwriter, threadContext); snapwriter.FlushAndClose(); }
void SnapShot::EmitSnapshot(LPCWSTR sourceDir, DWORD snapId, ThreadContext* threadContext) const { wchar* snapIdString = HeapNewArrayZ(wchar, 64); swprintf_s(snapIdString, 64, _u("%u"), snapId); HANDLE snapHandle = threadContext->TTDStreamFunctions.pfGetSnapshotStream(sourceDir, snapIdString, false, true); TTD_SNAP_WRITER snapwriter(snapHandle, TTD_COMPRESSED_OUTPUT, threadContext->TTDStreamFunctions.pfWriteBytesToStream, threadContext->TTDStreamFunctions.pfFlushAndCloseStream); this->EmitSnapshotToFile(&snapwriter, threadContext); snapwriter.FlushAndClose(); HeapDeleteArray(64, snapIdString); }