Bagikan melalui


Fungsi AssocQueryStringW (shlwapi.h)

Mencari dan mengambil string terkait asosiasi file atau protokol dari registri.

Sintaks

LWSTDAPI AssocQueryStringW(
  [in]            ASSOCF   flags,
  [in]            ASSOCSTR str,
  [in]            LPCWSTR  pszAssoc,
  [in, optional]  LPCWSTR  pszExtra,
  [out, optional] LPWSTR   pszOut,
  [in, out]       DWORD    *pcchOut
);

Parameter

[in] flags

Jenis: ASSOCF

Bendera yang dapat digunakan untuk mengontrol pencarian. Ini bisa menjadi kombinasi nilai ASSOCF apa pun, kecuali bahwa hanya satu nilai ASSOCF_INIT yang dapat disertakan.

[in] str

Jenis: ASSOCSTR

Nilai ASSOCSTR yang menentukan jenis string yang akan dikembalikan.

[in] pszAssoc

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null yang digunakan untuk menentukan kunci akar. Empat jenis string berikut dapat digunakan.

Ekstensi nama file

Ekstensi nama file, seperti .txt.

CLSID

GUID CLSID dalam format "{GUID} standar.

ProgID

ProgID aplikasi, seperti Word. Document.8.

Nama yang dapat dieksekusi

Nama file .exe aplikasi. Bendera ASSOCF_OPEN_BYEXENAME harus diatur dalam bendera.

[in, optional] pszExtra

Jenis: LPCTSTR

String opsional yang dihentikan null dengan informasi tambahan tentang lokasi string. Biasanya diatur ke kata kerja Shell seperti terbuka. Atur parameter ini ke NULL jika tidak digunakan.

[out, optional] pszOut

Jenis: LPTSTR

Penunjuk ke string yang dihentikan null yang, ketika fungsi ini berhasil dikembalikan, menerima string yang diminta. Atur parameter ini ke NULL untuk mengambil ukuran buffer yang diperlukan.

[in, out] pcchOut

Jenis: DWORD*

Penunjuk ke nilai yang, saat memanggil fungsi, diatur ke jumlah karakter dalam buffer pszOut . Ketika fungsi berhasil dikembalikan, nilai diatur ke jumlah karakter yang benar-benar ditempatkan dalam buffer.

Jika bendera ASSOCF_NOTRUNCATE diatur dalam bendera dan buffer yang ditentukan dalam pszOut terlalu kecil, fungsi mengembalikan E_POINTER dan nilai diatur ke ukuran buffer yang diperlukan.

Jika pszOutNULL, fungsi mengembalikan S_FALSE dan pcchOut menunjuk ke ukuran yang diperlukan, dalam karakter, dari buffer.

Mengembalikan nilai

Jenis: HRESULT

Mengembalikan nilai kesalahan COM standar, termasuk yang berikut ini:

Kesalahan Makna
S_OK Berhasil.
E_POINTER Buffer pszOut terlalu kecil untuk menahan seluruh string.
S_FALSE pszOut adalah NULL. pcchOut berisi ukuran buffer yang diperlukan.

Keterangan

Fungsi ini adalah pembungkus untuk antarmuka IQueryAssociations . Fungsi AssocQueryString dimaksudkan untuk menyederhanakan proses penggunaan antarmuka IQueryAssociations .

Setelah item dipilih, host harus memutuskan penangan pratinjau mana (jika ada) yang tersedia untuk item tersebut. Handler pratinjau biasanya terdaftar pada ekstensi nama file atau ProgID, tetapi beberapa penangan pratinjau hanya dibuat untuk item dalam folder shell tertentu (handler pratinjau MAPI dikaitkan dengan item apa pun yang berasal dari folder MAPI Shell, misalnya). Dengan demikian, host harus menggunakan IQueryAssociations untuk menentukan penangan pratinjau mana yang akan digunakan. Untuk diskusi lebih lanjut tentang cara kerja fungsi asosiasi file dan protokol, lihat IQueryAssociations.

Catatan

Header shlwapi.h mendefinisikan AssocQueryString sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shlwapi.h
Pustaka Shlwapi.lib
DLL Shlwapi.dll (versi 5.0 atau yang lebih baru)