Condividi tramite


Metodo IAppxFactory3::CreateManifestReader2 (appxpackaging.h)

Importante

Alcune informazioni si riferiscono a un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Crea un modello a oggetti manifesto di sola lettura dal contenuto fornito da un IStream, con un parametro facoltativo per specificare il digest previsto per il manifesto.

Sintassi

HRESULT CreateManifestReader2(
  [in]          IStream             *inputStream,
  [in,optional] LPCWSTR             expectedDigest,
  [out]         IAppxManifestReader **manifestReader
);

Parametri

[in] inputStream

Flusso di input che fornisce il file XML del manifesto per la lettura. Il flusso deve supportare ISequentialStream::Read, IStream::Seek e IStream::Stat. Se questi metodi hanno esito negativo, i codici di errore possono essere passati a e restituiti da questo metodo.

[in,optional] expectedDigest

Oggetto LPCWSTR contenente il digest previsto, una rappresentazione con hash del file manifesto.

[out] manifestReader

Lettore manifesto creato.

Valore restituito

Se il metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore che include, ma non solo, quelli nella tabella seguente.

Codice restituito Descrizione
APPX_E_INVALID_MANIFEST InputStream non contiene xml sintatticamente valido per il manifesto.
APPX_E_DIGEST_MISMATCH Il digest per l'oggetto non corrisponde al digest fornito in expectedDigest.

Commenti

Usare CreateManifestReader2 per leggere un manifesto all'esterno di un pacchetto dell'app. Questo metodo convalida il codice XML del manifesto. ManifestReader fornisce l'accesso a tutti gli elementi dati e gli attributi nel file XML del manifesto. Il manifesto registra il percorso degli errori di convalida del manifesto nel registro eventi ETW per AppxPackaging.

Ottenere la stringa digest per il parametro expecteDigest chiamando IAppxDigestProvider::GetDigest.

Esempio

Per un esempio, vedi Guida introduttiva: Leggere le informazioni sul manifesto del pacchetto dell'app.

Requisiti

Requisito Valore
Intestazione appxpackaging.h