Condividi tramite


Funzione MsiGetProductInfoFromScriptA (msi.h)

La funzione msiGetProductInfoFromScript restituisce informazioni sul prodotto per un file di script di Windows Installer.

Sintassi

UINT MsiGetProductInfoFromScriptA(
  [in]      LPCSTR  szScriptFile,
  [out]     LPSTR   lpProductBuf39,
  [out]     LANGID  *plgidLanguage,
  [out]     LPDWORD pdwVersion,
  [out]     LPSTR   lpNameBuf,
  [in, out] LPDWORD pcchNameBuf,
  [out]     LPSTR   lpPackageBuf,
  [in, out] LPDWORD pcchPackageBuf
);

Parametri

[in] szScriptFile

Stringa con terminazione Null che specifica il percorso completo del file di script. Il file di script è lo script di annuncio creato chiamando MsiAdvertiseProduct o MsiAdvertiseProductEx.

[out] lpProductBuf39

Punta a un buffer che riceve il codice prodotto. Il buffer deve avere una lunghezza di 39 caratteri. I primi 38 caratteri sono relativi al codice prodotto GUIDe l'ultimo carattere è per il carattere Null di terminazione.

[out] plgidLanguage

Punta a una variabile che riceve la lingua del prodotto.

[out] pdwVersion

Punta a un buffer che riceve la versione del prodotto.

[out] lpNameBuf

Punta a un buffer che riceve il nome del prodotto. Il buffer include un carattere null di terminazione.

[in, out] pcchNameBuf

Punta a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpNameBuf. Questa dimensione deve includere il carattere Null di terminazione. Quando la funzione termina, questa variabile contiene la lunghezza della stringa archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente grande, la funzione restituisce ERROR_MORE_DATA e la variabile contiene le dimensioni della stringa in caratteri, senza contare il carattere Null.

[out] lpPackageBuf

Punta a un buffer che riceve il nome del pacchetto. Il buffer include il carattere Null di terminazione.

[in, out] pcchPackageBuf

Punta a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpPackageNameBuf. Questa dimensione deve includere il carattere Null di terminazione. Quando la funzione termina, questa variabile contiene la lunghezza della stringa archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente grande, la funzione restituisce ERROR_MORE_DATA e la variabile contiene le dimensioni della stringa in caratteri, senza contare il carattere Null.

Valore restituito

Valore Significato
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_INVALID_PARAMETER
Alla funzione è stato passato un argomento non valido.
ERROR_MORE_DATA
Un buffer era troppo piccolo per contenere l'intero valore.
ERROR_INSTALL_FAILURE
Impossibile ottenere informazioni sullo script.
ERROR_CALL_NOT_IMPLEMENTED
Questa funzione è disponibile solo in Windows 2000 e Windows XP.

Osservazioni

Nota

L'intestazione msi.h definisce MsiGetProductInfoFromScript come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows richiesto da una versione di Windows Installer, vedere Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll