Fungsi SafeArrayAccessData (oleauto.h)
Menambah jumlah kunci array, dan mengambil penunjuk ke data array.
Sintaks
HRESULT SafeArrayAccessData(
[in] SAFEARRAY *psa,
[out] void HUGEP **ppvData
);
Parameter
[in] psa
Deskriptor array yang dibuat oleh SafeArrayCreate.
[out] ppvData
Data array.
Nilai kembali
Fungsi ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Argumen psa tidak valid. |
|
Array tidak dapat dikunci. |
Keterangan
Setelah memanggil SafeArrayAccessData, Anda harus memanggil fungsi SafeArrayUnaccessData untuk membuka kunci array.
Contoh
Contoh berikut mengurutkan array aman dari satu dimensi yang berisi BSTR dengan mengakses elemen array secara langsung. Pendekatan ini lebih cepat daripada menggunakan SafeArrayGetElement dan SafeArrayPutElement.
long i, j, min;
BSTR bstrTemp;
BSTR HUGEP *pbstr;
HRESULT hr;
// Get a pointer to the elements of the array.
hr = SafeArrayAccessData(psa, (void HUGEP**)&pbstr);
if (FAILED(hr))
goto error;
// Selection sort.
for (i = 0; i < psa->rgsabound.cElements-1; i++)
{
min = i;
for (j = i+1; j < psa->rgsabound.cElements; j++)
{
if (wcscmp(pbstr[j], pbstr[min]) < 0)
min = j;
}
// Swap array[min] and array[i].
bstrTemp = pbstr[min];
pbstr[min] = pbstr[i];
pbstr[i] = bstrTemp;
}
SafeArrayUnaccessData(psa);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | oleauto.h |
Pustaka | OleAut32.lib |
DLL | OleAut32.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk