Metode IShellFolder::BindToObject (shobjidl_core.h)

Mengambil handler, biasanya objek folder Shell yang mengimplementasikan IShellFolder untuk item tertentu. Parameter opsional yang mengontrol konstruksi handler diteruskan dalam konteks ikatan.

Sintaks

HRESULT BindToObject(
  [in]  PCUIDLIST_RELATIVE pidl,
  [in]  IBindCtx           *pbc,
  [in]  REFIID             riid,
  [out] void               **ppv
);

Parameter

[in] pidl

Jenis: PCUIDLIST_RELATIVE

Alamat struktur ITEMIDLIST (PIDL) yang mengidentifikasi subfolder. Nilai ini dapat merujuk ke item pada tingkat apa pun di bawah folder induk dalam hierarki namespace. Struktur berisi satu atau beberapa struktur SHITEMID , diikuti dengan NULL yang mengakhiri.

[in] pbc

Jenis: IBindCtx*

Penunjuk ke antarmuka IBindCtx pada objek konteks ikatan yang dapat digunakan untuk meneruskan parameter ke konstruksi handler. Jika parameter ini tidak digunakan, atur ke NULL. Karena dukungan untuk parameter ini bersifat opsional untuk implementasi objek folder, beberapa folder mungkin tidak mendukung penggunaan konteks ikatan.

Informasi yang dapat diberikan dalam konteks ikat mencakup struktur BIND_OPTS yang menyertakan anggota grfMode yang menunjukkan mode akses saat mengikat penangan aliran. Parameter lain dapat diatur dan ditemukan menggunakan IBindCtx::RegisterObjectParam dan IBindCtx::GetObjectParam.

[in] riid

Jenis: REFIID

Pengidentifikasi antarmuka yang akan dikembalikan. Ini mungkin IID_IShellFolder, IID_IStream, atau antarmuka lain yang mengidentifikasi handler tertentu.

[out] ppv

Jenis: batal**

Ketika metode ini kembali, berisi alamat penunjuk ke antarmuka yang diminta. Jika terjadi kesalahan, penunjuk NULL dikembalikan pada alamat ini.

Mengembalikan nilai

Jenis: HRESULT

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Aplikasi menggunakan IShellFolder::BindToObject(..., IID_IShellFolder, ...) untuk mendapatkan objek folder Shell untuk subitem. Klien harus melewati IID antarmuka kanonis yang digunakan untuk mengidentifikasi handler tertentu. Misalnya, IID_IShellFolder mengidentifikasi handler folder dan IID_IStream mengidentifikasi handler stream. Implementasi dapat mendukung pengikatan ke handler menggunakan antarmuka turunan juga, seperti IID_IShellFolder2. Ekstensi namespace Shell dapat mengimplementasikan fungsi ini dengan membuat objek folder Shell untuk subitem yang ditentukan lalu memanggil QueryInterface untuk berkomunikasi dengan objek melalui penunjuk antarmukanya.

Implementasi BindToObject dapat mengoptimalkan panggilan apa pun dengan dengan cepat gagal untuk nilai IID yang tidak didukungnya. Misalnya, jika objek folder Shell subitem tidak mendukung IRemoteComputer, implementasi harus segera mengembalikan E_NOINTERFACE alih-alih membuat objek folder Shell untuk subitem dan kemudian menemukan bahwa IRemoteComputer tidak didukung setelah semua.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
DLL Shell32.dll (versi 4.0 atau yang lebih baru)

Lihat juga

IPersistFolder

IPersistFolder2

IShellFolder

IShellFolder2

SHGetDesktopFolder