Funzione MsiLocateComponentW (msi.h)
La funzione MsiLocateComponent restituisce il percorso completo di un componente installato senza codice prodotto. Questa funzione tenta di determinare il prodotto usando MsiGetProductCode, ma non è garantito trovare il prodotto corretto per il chiamante. MsiGetComponentPath deve essere sempre chiamato quando possibile.
Sintassi
INSTALLSTATE MsiLocateComponentW(
[in] LPCWSTR szComponent,
[out] LPWSTR lpPathBuf,
[in, out] LPDWORD pcchBuf
);
Parametri
[in] szComponent
Specifica l'ID componente del componente da individuare.
[out] lpPathBuf
Puntatore a una variabile che riceve il percorso del componente. La variabile include il carattere Null terminante.
[in, out] pcchBuf
Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpPathBuf . In input, questa è la dimensione completa del buffer, incluso uno spazio per un carattere null terminante. Al termine della funzione MsiLocateComponent , la variabile puntata da pcchBuf contiene il conteggio dei caratteri non incluso il carattere Null di terminazione. Se le dimensioni del buffer passate sono troppo piccole, la funzione restituisce INSTALLSTATE_MOREDATA.
Se lpPathBuf è null, pcchBuf può essere null.
Valore restituito
Valore | Significato |
---|---|
|
Il componente richiesto è disabilitato nel computer. |
|
Il componente non è installato. Vedere la sezione Osservazioni. |
|
Uno dei parametri della funzione non è valido. |
|
Il componente viene installato localmente. |
|
Il buffer fornito era troppo piccolo. |
|
Il componente viene installato per l'esecuzione dall'origine. |
|
L'origine del componente non è accessibile. |
|
Il codice prodotto o l'ID componente è sconosciuto. Vedere la sezione Osservazioni. |
Commenti
La funzione MsiLocateComponent potrebbe restituire INSTALLSTATE_ABSENT o INSTALL_STATE_UNKNOWN, per i motivi seguenti:
- INSTALLSTATE_ABSENT
L'applicazione non ha verificato correttamente che la funzionalità sia stata installata chiamando MsiUseFeature e, se necessario, MsiConfigureFeature.
- INSTALLSTATE_UNKNOWN
La funzionalità non viene pubblicata. L'applicazione deve essere determinata in precedenza chiamando MsiQueryFeatureState o MsiEnumFeatures. L'applicazione effettua queste chiamate durante l'inizializzazione. Un'applicazione deve usare solo le funzionalità note per la pubblicazione. Poiché INSTALLSTATE_UNKNOWN dovrebbe essere stato restituito anche da MsiUseFeature, msiUseFeature non è stato chiamato o il relativo valore restituito non è stato controllato correttamente.
Nota
L'intestazione msi.h definisce MsiLocateComponent come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
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 i requisiti di Windows Installer Run-Time. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |