Funzione MsiEnumComponentQualifiersW (msi.h)

La funzione MsiEnumComponentQualifiers enumera i qualificatori annunciati per il componente specificato. Questa funzione recupera un qualificatore ogni volta che viene chiamato.

Sintassi

UINT MsiEnumComponentQualifiersW(
  [in]      LPCWSTR szComponent,
  [in]      DWORD   iIndex,
  [out]     LPWSTR  lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPWSTR  lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Parametri

[in] szComponent

Specifica il componente i cui qualificatori devono essere enumerati.

[in] iIndex

Specifica l'indice del qualificatore da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumComponentQualifiers e quindi incrementata per le chiamate successive. Poiché i qualificatori non sono ordinati, qualsiasi nuovo qualificatore ha un indice arbitrario. Ciò significa che la funzione può restituire qualificatori in qualsiasi ordine.

[out] lpQualifierBuf

Puntatore a un buffer che riceve il codice qualificatore.

[in, out] pcchQualifierBuf

Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpQualifierBuf . In input, questa dimensione deve includere il carattere null terminante. In caso contrario, il valore non include il carattere Null.

[out] lpApplicationDataBuf

Puntatore a un buffer che riceve i dati registrati dall'applicazione per il qualificatore. Questo parametro può essere null.

[in, out] pcchApplicationDataBuf

Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpApplicationDataBuf . In input, questa dimensione deve includere il carattere null terminante. In caso contrario, il valore non include il carattere Null. Questo parametro può essere null solo se il parametro lpApplicationDataBuf è null.

Valore restituito

Valore Significato
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Un parametro non valido è stato passato alla funzione.
ERROR_MORE_DATA
Un buffer è troppo piccolo per contenere i dati richiesti.
ERROR_NO_MORE_ITEMS
Non ci sono qualificatori da restituire.
ERROR_NOT_ENOUGH_MEMORY
Il sistema non dispone di memoria sufficiente per completare l'operazione. Disponibile con Windows Server 2003.
ERROR_SUCCESS
È stato enumerato un valore.
ERROR_UNKNOWN_COMPONENT
Il componente specificato è sconosciuto.

Commenti

Per enumerare i qualificatori, un'applicazione deve inizialmente chiamare la funzione MsiEnumComponentQualifiers con il parametro iIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iIndex e chiamare MsiEnumComponentQualifiers finché non sono presenti altri qualificatori, ovvero finché la funzione non restituisce ERROR_NO_MORE_ITEMS.

Quando MsiEnumComponentQualifiers restituisce, il parametro pcchQualifierBuf contiene la lunghezza della stringa di qualificatore archiviata nel buffer. Il conteggio restituito non include il carattere Null terminante. Se il buffer non è abbastanza grande, MsiEnumComponentQualifiers restituisce ERROR_MORE_DATA e questo parametro contiene le dimensioni della stringa, in caratteri, senza contare il carattere Null. Lo stesso meccanismo si applica a pcchDescriptionBuf.

Quando si effettuano più chiamate a MsiEnumComponentQualifiers per enumerare tutti i qualificatori annunciati del componente, ogni chiamata deve essere eseguita dallo stesso thread.

Nota

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

Vedi anche

Funzioni di stato del sistema