Share via


IShellFolder::BindToObject 메서드(shobjidl_core.h)

일반적으로 특정 항목에 대해 IShellFolder 를 구현하는 Shell 폴더 개체인 처리기를 검색합니다. 처리기의 생성을 제어하는 선택적 매개 변수는 바인딩 컨텍스트에서 전달됩니다.

구문

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

매개 변수

[in] pidl

형식: PCUIDLIST_RELATIVE

하위 폴더를 식별하는 PIDL( ITEMIDLIST 구조체)의 주소입니다. 이 값은 네임스페이스 계층 구조의 부모 폴더 아래의 모든 수준에서 항목을 참조할 수 있습니다. 구조체에는 하나 이상의 SHITEMID 구조체와 NULL 종료가 차례로 포함됩니다.

[in] pbc

형식: IBindCtx*

처리기의 생성에 매개 변수를 전달하는 데 사용할 수 있는 바인딩 컨텍스트 개체의 IBindCtx 인터페이스에 대한 포인터입니다. 이 매개 변수를 사용하지 않으면 NULL로 설정합니다. 이 매개 변수에 대한 지원은 폴더 개체 구현에 대한 선택 사항이므로 일부 폴더는 바인딩 컨텍스트 사용을 지원하지 않을 수 있습니다.

바인딩 컨텍스트에서 제공할 수 있는 정보에는 스트림 처리기에 바인딩할 때 액세스 모드를 나타내는 grfMode 멤버를 포함하는 BIND_OPTS 구조가 포함됩니다. IBindCtx::RegisterObjectParam 및 IBindCtx::GetObjectParam을 사용하여 다른 매개 변수를 설정하고 검색할 수 있습니다.

[in] riid

형식: REFIID

반환할 인터페이스의 식별자입니다. IID_IShellFolder, IID_IStream 또는 특정 처리기를 식별하는 다른 인터페이스일 수 있습니다.

[out] ppv

형식: void**

이 메서드가 반환되면 요청된 인터페이스에 대한 포인터의 주소가 포함됩니다. 오류가 발생하면 이 주소에 NULL 포인터가 반환됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

애플리케이션은 IShellFolder::BindToObject(..., IID_IShellFolder, ...) 를 사용하여 하위 항목에 대한 Shell 폴더 개체를 가져옵니다. 클라이언트는 특정 처리기를 식별하는 데 사용되는 정식 인터페이스 IID를 전달해야 합니다. 예를 들어 IID_IShellFolder 폴더 처리기를 식별하고 IID_IStream 스트림 처리기를 식별합니다. 구현은 IID_IShellFolder2 같은 파생 인터페이스를 사용하는 처리기에 대한 바인딩도 지원할 수 있습니다. Shell 네임스페이스 확장은 지정된 하위 항목에 대한 Shell 폴더 개체를 만든 다음 QueryInterface 를 호출하여 인터페이스 포인터를 통해 개체와 통신하여 이 함수를 구현할 수 있습니다.

BindToObject 구현은 지원하지 않는 IID 값에 대해 신속하게 실패하여 호출을 최적화할 수 있습니다. 예를 들어 하위 항목의 Shell 폴더 개체가 IRemoteComputer를 지원하지 않는 경우 구현은 하위 항목에 대한 Shell 폴더 개체를 불필요하게 만든 다음 IRemoteComputer가 결국 지원되지 않는 것을 찾는 대신 즉시 E_NOINTERFACE 반환해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)
DLL Shell32.dll(버전 4.0 이상)

추가 정보

IPersistFolder

IPersistFolder2

IShellFolder

IShellFolder2

SHGetDesktopFolder