Share via


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