IWDFObject::AssignContext 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

AssignContext 메서드는 개체에 대한 컨텍스트 및 드라이버 제공 정리 콜백 함수를 등록합니다.

구문

HRESULT AssignContext(
  [in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
  [in, optional] __drv_aliasesMem void           *pContext
);

매개 변수

[in, optional] pCleanupCallback

개체가 잘못되면 정리 작업을 수행하는 정리 콜백 함수를 포함하는 IObjectCleanup 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. 개체를 정리할 때 드라이버에 알림이 필요하지 않은 경우 드라이버가 NULL 을 전달할 수 있습니다.

[in, optional] pContext

등록할 컨텍스트에 대한 포인터입니다. NULL 은 유효한 컨텍스트입니다.

반환 값

AssignContext는 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 이 메서드는 Winerror.h에 정의된 오류 코드 중 하나를 반환합니다.

설명

드라이버는 AssignContext 를 호출하여 컨텍스트를 등록하고 개체가 유효하지 않은 경우 알림을 요청합니다. AssignContext 호출에서 드라이버는 pCleanupCallback 매개 변수의 IObjectCleanup 인터페이스에 대한 포인터를 전달하여 IObjectCleanup을 등록합니다. 프레임워크는 개체가 유효한 동안 제공된 IObjectCleanup 인터페이스에 대한 참조를 내부적으로 보유합니다. 개체가 잘못되면 프레임워크는 IObjectCleanup::OnCleanup 메서드를 호출하여 드라이버에 알립니다. 프레임워크는 IObjectCleanup::OnCleanup 을 호출한 후 제공된 IObjectCleanup에 대한 참조를 자동으로 해제합니다.

지정된 시간에 각 개체 instance 연결된 하나의 컨텍스트만 존재할 수 있습니다. 추가 컨텍스트 등록 시도가 실패합니다.

컨텍스트는 유효한 상태에 있는 개체와만 연결할 수 있습니다. 예를 들어 삭제 프로세스에 있는 개체와 컨텍스트를 연결하려는 시도가 실패합니다.

컨텍스트가 COM(구성 요소 개체 모델) 인터페이스가 아니므로 드라이버는 컨텍스트를 이와 같이 처리해서는 안 됩니다. 예를 들어 드라이버는 컨텍스트에서 AddRef 메서드를 호출할 수 없습니다.

IWDFObject::RetrieveContext 메서드를 사용하여 AssignContext를 통해 이전에 등록된 컨텍스트를 검색할 수 있습니다.

예제

AssignContext 메서드를 사용하는 방법에 대한 코드 예제는 IWDFIoTarget::FormatRequestForWrite를 참조하세요.

요구 사항

요구 사항
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.5
머리글 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

추가 정보

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFObject

IWDFObject::RetrieveContext