Funzione MsiEnumComponentQualifiersA (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 MsiEnumComponentQualifiersA(
  [in]      LPCSTR  szComponent,
  [in]      DWORD   iIndex,
  [out]     LPSTR   lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPSTR   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 incrementato 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 . All'input, questa dimensione deve includere il carattere null di terminazione. 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 . All'input, questa dimensione deve includere il carattere null di terminazione. 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
Alla funzione è stato passato un parametro non valido.
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 fino a quando non sono presenti altri qualificatori( ovvero finché la funzione non restituisce ERROR_NO_MORE_ITEMS).

Quando MsiEnumComponentQualifiers viene restituito, il parametro pcchQualifierBuf contiene la lunghezza della stringa del qualificatore archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente 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 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

   
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

Vedi anche

Funzioni di stato del sistema