SpbTargetGetFileObject 함수(spbcx.h)

SpbTargetGetFileObject 메서드는 입력 매개 변수로 열려 있는 대상 디바이스에 대한 SPBTARGET 핸들을 허용하고 이 대상에 WDFFILEOBJECT 핸들을 반환합니다.

구문

WDFFILEOBJECT SpbTargetGetFileObject(
  [in] SPBTARGET Target
);

매개 변수

[in] Target

버스의 대상 디바이스에 대한 SPBTARGET 핸들입니다.

반환 값

SpbTargetGetFileObject 는 버스의 열린 대상 디바이스에 WDFFILEOBJECT 핸들을 반환합니다. 대상에 대한 연결이 EvtSpbTargetDisconnect 이벤트 콜백에 의해 닫힌 경우 메서드는 NULL을 반환합니다.

설명

컨트롤러 드라이버는 이 메서드를 호출하여 버스의 열린 대상 디바이스에 대한 WDFFILEOBJECT 핸들을 가져올 수 있습니다. SPB 컨트롤러 드라이버는 이러한 핸들이 필요한 WDF 메서드에 대한 입력 매개 변수로 이 핸들을 사용할 수 있습니다.

SpbTargetGetFileObject 는 대상에 대한 WDFFILEOBJECT 핸들을 닫은 경우에만 NULL을 반환하지만, 닫기 전에 SPB 컨트롤러 드라이버는 SBPTARGET 개체에 대한 추가 참조를 가져와 수명을 연장했습니다.

연결이 닫혀 있고 SPB 컨트롤러 드라이버가 SPBTARGET 개체에 대한 참조를 보유하지 않는 경우 SBPTARGET 핸들이 더 이상 유효하지 않습니다. 잘못된 핸들을 SpbTargetGetFileObject에 전달하면 버그 검사가 발생합니다.

SpbTargetGetFileObject가 WDFFILEOBJECT 핸들을 반환한 후 다른 개체(예: 활성 I/O 요청)가 예기치 않게 닫히지 않도록 WDFFILEOBJECT 개체에 대한 참조를 보유하지 않는 한 대상 연결이 열린 상태로 유지된다는 보장은 없습니다. 이 메서드는 가장 유용하며, 따라서 대상 연결이 열려 있는 것으로 보장될 때 호출될 가능성이 가장 높습니다. 일반적으로 이러한 호출은 EvtSpbTargetConnectEvtSpbTargetDisconnect 콜백 중 및 I/O 요청을 처리하는 동안 발생합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 시작해서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 spbcx.h
라이브러리 Spbcxstubs.lib
IRQL <= DISPATCH_LEVEL

참고 항목

EvtSpbTargetConnect

EvtSpbTargetDisconnect

SPBTARGET