HResult VirtualizationInstance::WriteFileData()

in ProjectedFSLib.Managed.API/VirtualizationInstance.cpp [752:781]


HResult VirtualizationInstance::WriteFileData(
    Guid dataStreamId,
    IWriteBuffer^ buffer,
    unsigned long long byteOffset,
    unsigned long length)
{
    if (buffer == nullptr)
    {
        return HResult::InvalidArg;
    }

    array<Byte>^ guidData = dataStreamId.ToByteArray();
    pin_ptr<Byte> data = &(guidData[0]);
    if (m_apiHelper->UseBetaApi)
    {
        return static_cast<HResult>(m_apiHelper->_PrjWriteFile(reinterpret_cast<PRJ_VIRTUALIZATIONINSTANCE_HANDLE>(m_virtualizationContext),
                                                               reinterpret_cast<GUID*>(data),
                                                               buffer->Pointer.ToPointer(),
                                                               byteOffset,
                                                               length));
    }
    else
    {
        return static_cast<HResult>(m_apiHelper->_PrjWriteFileData(m_virtualizationContext,
                                                                   reinterpret_cast<GUID*>(data),
                                                                   buffer->Pointer.ToPointer(),
                                                                   byteOffset,
                                                                   length));
    }
}