Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengekstrak array nilai DOUBLE dari struktur VARIAN .
Sintaks
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] var
Jenis: REFVARIANT
Referensi ke struktur VARIAN sumber.
[out] prgn
Jenis: DOUBLE*
Penunjuk ke buffer yang berisi nilai DOUBLE crgn. Ketika fungsi ini kembali, buffer telah diinisialisasi dengan *elemen pcElemDOUBLE yang diekstrak dari struktur VARIAN sumber.
[in] crgn
Jenis: ULONG
Jumlah elemen dalam buffer yang diacu oleh prgn.
[out] pcElem
Jenis: ULONG*
Ketika fungsi ini kembali, berisi jumlah elemen DOUBLE yang diekstrak dari struktur VARIAN sumber.
Nilai kembali
Jenis: HRESULT
Mengembalikan S_OK jika berhasil, atau nilai kesalahan jika tidak, termasuk yang berikut ini:
| Menampilkan kode | Deskripsi |
|---|---|
|
VARIAN sumber berisi lebih dari nilai crgn. |
|
VARIAN bukan tipe yang sesuai. |
Keterangan
Fungsi pembantu ini digunakan ketika aplikasi panggilan mengharapkan VARIAN untuk menahan array yang terdiri dari sejumlah nilai DOUBLE tetap.
Jika VARIAN sumber memiliki jenis VT_ARRAY | VT_DOUBLE, fungsi ini mengekstrak hingga nilai crgnDOUBLE dan menempatkannya ke dalam buffer yang diarahkan oleh prgn.
Jika VARIAN berisi lebih banyak elemen daripada yang akan masuk ke dalam buffer prgn , fungsi ini mengembalikan kesalahan dan mengatur *pcElem ke 0.
Contoh
Contoh berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan VariantToDoubleArray untuk mengakses array DOUBLE yang disimpan dalam VARIAN.
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows XP dengan SP2, Windows Vista [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2003 dengan SP1 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | propvarutil.h |
| Pustaka | Propsys.lib |
| DLL | Propsys.dll (versi 6.0 atau yang lebih baru) |
| Redistribusi | Windows Desktop Search (WDS) 3.0 |