Fungsi MsiRecordGetStringA (msiquery.h)

Fungsi MsiRecordGetString mengembalikan nilai string bidang rekaman.

Sintaks

UINT MsiRecordGetStringA(
  [in]      MSIHANDLE hRecord,
  [in]      UINT      iField,
  [out]     LPSTR     szValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Parameter

[in] hRecord

Tangani ke rekaman.

[in] iField

Menentukan bidang yang diminta.

[out] szValueBuf

Penunjuk ke buffer yang menerima string null yang dihentikan yang berisi nilai bidang rekaman. Jangan mencoba menentukan ukuran buffer dengan meneruskan null (value=0) untuk szValueBuf. Anda bisa mendapatkan ukuran buffer dengan meneruskan string kosong (misalnya ""). Fungsi kemudian mengembalikan ERROR_MORE_DATA dan pcchValueBuf berisi ukuran buffer yang diperlukan dalam TCHAR, tidak termasuk karakter null yang mengakhiri. Pada pengembalian ERROR_SUCCESS, pcchValueBuf berisi jumlah TCHAR yang ditulis ke buffer, tidak termasuk karakter null yang mengakhiri.

[in, out] pcchValueBuf

Penunjuk ke variabel yang menentukan ukuran, dalam TCHARs, dari buffer yang diacu oleh variabel szValueBuf. Ketika fungsi mengembalikan ERROR_SUCCESS, variabel ini berisi ukuran data yang disalin ke szValueBuf, tidak termasuk karakter null yang mengakhiri. Jika szValueBuf tidak cukup besar, fungsi mengembalikan ERROR_MORE_DATA dan menyimpan ukuran yang diperlukan, tidak termasuk karakter null yang mengakhiri, dalam variabel yang ditunjukkan oleh pcchValueBuf.

Mengembalikan nilai

Fungsi MsiRecordGetString mengembalikan salah satu nilai berikut:

Keterangan

Jika ERROR_MORE_DATA dikembalikan, parameter yang merupakan penunjuk memberikan ukuran buffer yang diperlukan untuk menahan string. Jika ERROR_SUCCESS dikembalikan, itu memberikan jumlah karakter yang ditulis ke buffer string. Untuk mendapatkan ukuran buffer, berikan alamat buffer 1 karakter sebagai szValueBuf dan tentukan ukuran buffer dengan pcchValueBuf sebagai 0. Ini memastikan bahwa tidak ada nilai string yang dikembalikan oleh fungsi yang sesuai dengan buffer. Jangan mencoba menentukan ukuran buffer dengan meneruskan Null (value=0).

Catatan

Header msiquery.h mendefinisikan MsiRecordGetString sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 di Windows Server 2008 atau Windows Vista.
Target Platform Windows
Header msiquery.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Meneruskan Null sebagai Argumen Fungsi Pemasang Windows

Fungsi Pemrosesan Rekaman