Funzione MsiViewGetErrorA (msiquery.h)
La funzione msiViewGetError
Sintassi
MSIDBERROR MsiViewGetErrorA(
[in] MSIHANDLE hView,
[out] LPSTR szColumnNameBuffer,
[in, out] LPDWORD pcchBuf
);
Parametri
[in] hView
Handle per la visualizzazione.
[out] szColumnNameBuffer
Puntatore al buffer che riceve il nome della colonna con terminazione Null. Non tentare di determinare le dimensioni del buffer passando un valore Null (value=0) per szColumnName. È possibile ottenere le dimensioni del buffer passando una stringa vuota ,ad esempio "". La funzione restituisce quindi MSIDBERROR_MOREDATA e pcchBuf contiene le dimensioni del buffer necessarie in TCHAR, senza includere il carattere null di terminazione. In caso di restituzione di MSIDBERROR_NOERROR, pcchBuf contiene il numero di TCHAR scritti nel buffer, senza includere il carattere Null di terminazione. Questo parametro è una stringa vuota se non sono presenti errori.
[in, out] pcchBuf
Puntatore alla variabile che specifica le dimensioni, in TCHAR, del buffer a cui punta la variabile szColumnNameBuffer. Quando la funzione restituisce MSIDBERROR_NOERROR, questa variabile contiene le dimensioni dei dati copiati in szColumnNameBuffer, senza includere il carattere Null di terminazione. Se szColumnNameBuffer non è sufficientemente grande, la funzione restituisce MSIDBERROR_MOREDATA e archivia le dimensioni necessarie, senza includere il carattere Null di terminazione, nella variabile a cui punta pcchBuf.
Valore restituito
Questa funzione restituisce uno dei valori seguenti.
Codice di errore | Significato |
---|---|
|
Argomento non valido. |
|
Il buffer era troppo piccolo per ricevere i dati. |
|
La funzione non è riuscita. |
|
La funzione è stata completata correttamente senza errori. |
|
Il nuovo record duplica le chiavi primarie del record esistente in una tabella. |
|
Non sono consentiti valori Null; o la colonna sta per essere eliminata, ma viene fatto riferimento da un'altra riga. |
|
Impossibile trovare il record corrispondente in una tabella esterna. |
|
I dati sono maggiori del valore massimo consentito. |
|
I dati sono inferiori al valore minimo consentito. |
|
I dati non sono membri dei valori consentiti nel set. |
|
È stata specificata una stringa di versione non valida. |
|
Il caso non è valido. Il maiuscolo deve essere tutto maiuscolo o minuscolo. |
|
È stato fornito un GUID non valido. |
|
È stato specificato un nome di file con caratteri jolly non validi oppure l'uso di caratteri jolly non è valido. |
|
È stato fornito un identificatore non valido. |
|
Sono stati forniti ID lingua non validi. |
|
È stato specificato un nome di file non valido. |
|
È stato fornito un percorso non valido. |
|
È stata fornita un'istruzione condizionale non valida. |
|
È stata specificata una stringa di formato non valida. |
|
È stata specificata una stringa di modello non valida. |
|
È stata specificata una stringa non valida nella colonna DefaultDir della tabella directory |
|
È stata specificata una stringa di percorso del Registro di sistema non valida. |
|
È stata specificata una stringa non valida nella colonna CustomSource della tabella CustomAction. |
|
È stata specificata una stringa di proprietà non valida. |
|
La tabella _Validation manca un riferimento a una colonna. |
|
La colonna category della tabella _Validation per la colonna non è valida. |
|
È stato specificato un nome cab non valido. |
|
La tabella nella colonna Keytable della tabella _Validation non è stata trovata o caricata. |
|
Il valore nella colonna MaxValue della tabella _Validation è minore del valore nella colonna MinValue. |
|
È stato specificato un nome di destinazione di collegamento non valido. |
|
La stringa è troppo lunga per la lunghezza specificata dalla definizione di colonna. |
|
È stato fornito un attributo di localizzazione non valido. Non è possibile localizzare le chiavi primarie. |
Si noti che in situazioni di memoria insufficiente questa funzione può generare un'eccezione STATUS_NO_MEMORY.
Osservazioni
È consigliabile chiamare la funzione msiViewGetError
Se viene restituito ERROR_MORE_DATA, il parametro che è un puntatore restituisce le dimensioni del buffer necessario per contenere la stringa. In caso di esito positivo, fornisce il numero di caratteri scritti nel buffer di stringhe. È quindi possibile ottenere le dimensioni necessarie del buffer passando un buffer piccolo (un carattere minimo) ed esaminando il valore in pcchPathBuf quando la funzione restituisce MSIDBERROR_MOREDATA. Non tentare di determinare le dimensioni del buffer passando null come
Una volta restituito MSIDBERROR_NOERROR, non rimangono altri errori di convalida. Il valore restituito MSIDBERROR indica il tipo di errore di convalida che si è verificato per il valore presente nella colonna identificata dal szColumnNameBuffer.
Nota
L'intestazione msiquery.h definisce MsiViewGetError 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 |
piattaforma di destinazione | Finestre |
intestazione |
msiquery.h |
libreria |
Msi.lib |
dll | Msi.dll |
Vedere anche
funzioni generali di accesso al database
passaggio di Null come argomento delle funzioni di Windows Installer