Funzione MsiLocateComponentA (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 MsiLocateComponentA(
[in] LPCSTR szComponent,
[out] LPSTR 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 di terminazione.
[in, out] pcchBuf
Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpPathBuf . Nell'input si tratta della dimensione completa del buffer, incluso uno spazio per un carattere Null di terminazione. Dopo l'esito positivo della funzione MsiLocateComponent , la variabile a cui punta pcchBuf contiene il numero di caratteri che non includono il carattere Null di terminazione. Se le dimensioni del buffer passato 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 è pubblicata. L'applicazione deve aver determinato questo valore in precedenza chiamando MsiQueryFeatureState o MsiEnumFeatures. L'applicazione effettua queste chiamate durante l'inizializzazione. Un'applicazione deve usare solo 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |