Funzione MsiProvideQualifiedComponentExA (msi.h)
La funzione MsiProvideQualifiedComponentEx restituisce il percorso completo del componente per un componente completo pubblicato da un prodotto ed esegue qualsiasi installazione necessaria. Questa funzione richiede l'origine, se necessario e incrementa il numero di utilizzo per la funzionalità.
Sintassi
UINT MsiProvideQualifiedComponentExA(
[in] LPCSTR szCategory,
[in] LPCSTR szQualifier,
[in] DWORD dwInstallMode,
[in] LPCSTR szProduct,
[in] DWORD dwUnused1,
[in] DWORD dwUnused2,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Parametri
[in] szCategory
Specifica l'ID componente per il componente richiesto. Questo potrebbe non essere il GUID per il componente stesso, ma piuttosto un server che fornisce la funzionalità corretta, come nella colonna ComponentId della tabella PublishComponent.
[in] szQualifier
Specifica un qualificatore in un elenco di componenti pubblicitari (da PublishComponent Table).
[in] dwInstallMode
Definisce la modalità di installazione. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Specificare il componente ed eseguire qualsiasi installazione necessaria per fornire il componente. Se manca il file di chiave di un componente nella funzionalità richiesta o un elemento padre di funzionalità, reinstallare la funzionalità usando MsiReinstallFeature con i bit di flag seguenti impostati: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA e REINSTALLMODE_SHORTCUT. |
|
Specificare il componente solo se la funzionalità esiste. In caso contrario, restituire ERROR_FILE_NOT_FOUND.
Questa modalità verifica che il file di chiave del componente esista. |
|
Specificare il componente solo se la funzionalità esiste. In caso contrario, restituire ERROR_FILE_NOT_FOUND.
Questa modalità controlla solo che il componente è registrato e non verifica che il file di chiave del componente esista. |
|
Specificare il componente solo se la funzionalità esiste, altrimenti restituire ERROR_FILE_NOT_FOUND. |
|
Chiamare MsiReinstallFeature per reinstallare la funzionalità usando questo parametro per il parametro dwReinstallMode e quindi specificare il componente. |
|
Specificare il componente solo se lo stato di installazione della funzionalità è INSTALLSTATE_LOCAL. Se lo stato di installazione della funzionalità è INSTALLSTATE_SOURCE, restituire ERROR_INSTALL_SOURCE_ABSENT. In caso contrario, restituire ERROR_FILE_NOT_FOUND. Questa modalità controlla solo che il componente è registrato e non verifica che il file di chiave esista. |
[in] szProduct
Specifica il prodotto in base al quale è stato pubblicato il componente completo. Se è null, questa API funziona come MsiProvideQualifiedComponent.
[in] dwUnused1
Riservato. Deve essere zero.
[in] dwUnused2
Riservato. Deve essere zero.
[out] lpPathBuf
Puntatore a una variabile che riceve il percorso del componente. Questo parametro può essere Null.
[in, out] pcchPathBuf
Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpPathBuf. 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 lpPathBuf è null, pcchBuf può essere Null.
Valore restituito
Valore | Significato |
---|---|
|
Qualificatore del componente non valido o non presente. |
|
La funzione è stata completata correttamente. |
|
La funzionalità è assente o interrotta. questo errore viene restituito per dwInstallMode = INSTALLMODE_EXISTING. |
|
Il componente specificato è sconosciuto. |
|
Vedere codici di errore. |
Si è verificato un errore relativo all'inizializzazione. |
Osservazioni
Dopo l'esito positivo della funzione msiProvideQualifiedComponentEx, il parametro pcchPathBuf contiene la lunghezza della stringa in lpPathBuf.
Le funzionalità con componenti contenenti un file danneggiato o la versione errata di un file devono essere reinstallate in modo esplicito dall'utente o tramite la chiamata dell'applicazione MsiReinstallFeature.
Nota
L'intestazione msi.h definisce MsiProvideQualifiedComponentEx 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