Función MsiRecordGetStringW (msiquery.h)
La función MsiRecordGetString devuelve el valor de cadena de un campo de registro.
Sintaxis
UINT MsiRecordGetStringW(
[in] MSIHANDLE hRecord,
[in] UINT iField,
[out] LPWSTR szValueBuf,
[in, out] LPDWORD pcchValueBuf
);
Parámetros
[in] hRecord
Identificador del registro.
[in] iField
Especifica el campo solicitado.
[out] szValueBuf
Puntero al búfer que recibe la cadena terminada en null que contiene el valor del campo de registro. No intente determinar el tamaño del búfer pasando un valor NULL (value=0) para szValueBuf. Puede obtener el tamaño del búfer pasando una cadena vacía (por ejemplo, ""). A continuación, la función devuelve ERROR_MORE_DATA y pcchValueBuf contiene el tamaño de búfer necesario en TCHAR, sin incluir el carácter nulo de terminación. Al devolver ERROR_SUCCESS, pcchValueBuf contiene el número de TCHAR escritos en el búfer, no incluido el carácter nulo de terminación.
[in, out] pcchValueBuf
Puntero a la variable que especifica el tamaño, en TCHARs, del búfer al que apunta la variable szValueBuf. Cuando la función devuelve ERROR_SUCCESS, esta variable contiene el tamaño de los datos copiados en szValueBuf, sin incluir el carácter nulo de terminación. Si szValueBuf no es lo suficientemente grande, la función devuelve ERROR_MORE_DATA y almacena el tamaño necesario, no incluido el carácter nulo de terminación, en la variable a la que apunta pcchValueBuf.
Valor devuelto
La función MsiRecordGetString devuelve uno de los valores siguientes:
Comentarios
Si se devuelve ERROR_MORE_DATA , el parámetro que es un puntero proporciona el tamaño del búfer necesario para contener la cadena. Si se devuelve ERROR_SUCCESS , proporciona el número de caracteres escritos en el búfer de cadena. Para obtener el tamaño del búfer, pase la dirección de un búfer de 1 carácter como szValueBuf y especifique el tamaño del búfer con pcchValueBuf como 0. Esto garantiza que ningún valor de cadena devuelto por la función se ajuste al búfer. No intente determinar el tamaño del búfer pasando un valor Null (value=0).
Nota
El encabezado msiquery.h define MsiRecordGetString como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. |
Plataforma de destino | Windows |
Encabezado | msiquery.h |
Library | Msi.lib |
Archivo DLL | Msi.dll |
Consulte también
Pasar Null como argumento de las funciones de Windows Installer