Exemple #1
0
const CPDF_Dictionary* CPDF_FileSpec::GetParamsDict() const {
  const CPDF_Stream* pStream = GetFileStream();
  if (!pStream)
    return nullptr;

  const CPDF_Dictionary* pDict = pStream->GetDict();
  return pDict ? pDict->GetDictFor("Params") : nullptr;
}
//
// Main entry point of the sample
//
int wmain()
{
    wprintf(L"Copyright (c) Microsoft Corporation.  All rights reserved.\n");
    wprintf(L"CreateBundle sample\n\n");

    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);

    if (SUCCEEDED(hr))
    {
        // Create a bundle writer object
        IAppxBundleWriter* bundleWriter = NULL;

        wprintf(L"\nCreating bundle writer\n\n");

        hr = GetBundleWriter(OutputBundlePath, &bundleWriter);

        // Add all payload packages to the package writer
        for (int i = 0; SUCCEEDED(hr) && (i < PayloadPackagesCount); i++)
        {
            IStream* payloadPackageStream = NULL;

            wprintf(L"Adding payload package: %s\n", PayloadPackagesName[i]);

            hr = GetFileStream(DataPath, PayloadPackagesName[i], &payloadPackageStream);

            if (SUCCEEDED(hr))
            {
                bundleWriter->AddPayloadPackage(
                    PayloadPackagesName[i],
                    payloadPackageStream);
            }

            if (payloadPackageStream != NULL)
            {
                payloadPackageStream->Release();
                payloadPackageStream = NULL;
            }
        }

        // Close the bundle writer to flush the output stream
        if (SUCCEEDED(hr))
        {
            hr = bundleWriter->Close();
        }

        // Clean up allocated resources
        if (bundleWriter != NULL)
        {
            bundleWriter->Release();
            bundleWriter = NULL;
        }
        CoUninitialize();
    }

    if (SUCCEEDED(hr))
    {
        wprintf(L"\nBundle successfully saved to %s.\n", OutputBundlePath);
    }
    else
    {
        wprintf(L"\nBundle creation failed with HRESULT 0x%08X.\n", hr);
    }
    return SUCCEEDED(hr) ? 0 : 1;
}