Condividi tramite


Funzione MsiGetProductPropertyA (msi.h)

La funzione msiGetProductProperty recupera le proprietà del prodotto. Queste proprietà si trovano nel database del prodotto.

Sintassi

UINT MsiGetProductPropertyA(
  [in]      MSIHANDLE hProduct,
  [in]      LPCSTR    szProperty,
  [out]     LPSTR     lpValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Parametri

[in] hProduct

Handle per il prodotto ottenuto da MsiOpenProduct.

[in] szProperty

Specifica la proprietà da recuperare. Distinzione tra maiuscole e minuscole.

[out] lpValueBuf

Puntatore a un buffer che riceve il valore della proprietà. Il valore viene troncato e con terminazione Null se lpValueBuf è troppo piccolo. Questo parametro può essere Null.

[in, out] pcchValueBuf

Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpValueBuf. Nell'input, si tratta delle dimensioni complete del buffer, incluso uno spazio per un carattere Null di terminazione. Se il buffer passato è troppo piccolo, il conteggio restituito non include il carattere Null di terminazione.

Se lpValueBuf è null, pcchValueBuf può essere Null.

Valore restituito

La funzione msiGetProductProperty restituisce i valori seguenti.

Valore Significato
ERROR_INVALID_PARAMETER
Alla funzione è stato passato un parametro non valido.
ERROR_INVALID_HANDLE
Alla funzione è stato passato un handle non valido.
ERROR_MORE_DATA
Un buffer è troppo piccolo per contenere l'intero valore della proprietà.
ERROR_SUCCESS
La funzione è stata completata correttamente.
 
 

Osservazioni

Quando viene restituita la funzione MsiGetProductProperty, il parametro pcchValueBuf contiene la lunghezza della stringa archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è abbastanza grande, msiGetProductProperty restituisce ERROR_MORE_DATA e MsiGetProductProperty contiene le dimensioni della stringa, in caratteri, senza contare il carattere Null.

Nota

L'intestazione msi.h definisce MsiGetProductProperty 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

Vedere anche

funzioni di query del prodotto