EVT_SPB_TARGET_CONNECT 콜백 함수(spbcx.h)

SPB 컨트롤러 드라이버의 EvtSpbTargetConnect 이벤트 콜백 함수는 버스의 대상 디바이스에 대한 연결을 엽니다.

구문

EVT_SPB_TARGET_CONNECT EvtSpbTargetConnect;

NTSTATUS EvtSpbTargetConnect(
  [in] WDFDEVICE Controller,
  [in] SPBTARGET Target
)
{...}

매개 변수

[in] Controller

SPB 컨트롤러를 나타내는 프레임워크 디바이스 개체 에 대한 WDFDEVICE 핸들입니다.

[in] Target

열려는 대상에 대한 SPBTARGET 핸들입니다. 대상은 버스에 연결된 주변 장치 또는 포트입니다.

반환 값

EvtSpbTargetConnect 는 드라이버가 대상에 대한 연결을 성공적으로 열면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 함수는 적절한 NTSTATUS 오류 코드를 반환합니다.

설명

SPB 컨트롤러 드라이버에서 이 함수를 구현하는 것은 선택 사항입니다.

SPB 프레임워크 확장(SpbCx)은 SPB 컨트롤러에 대한 I/O 큐를 관리합니다. SPB 컨트롤러 드라이버가 EvtSpbTargetConnect 콜백 함수를 등록하는 경우 SpbCx는 컨트롤러의 클라이언트(주변 드라이버)가 버스의 대상 디바이스에 대한 연결을 여는 IRP_MJ_CREATE 요청을 보낼 때 이 함수를 호출합니다. EvtSpbTargetConnect 함수가 오류 코드를 반환하는 경우 SpbCx는 IRP_MJ_CREATE 요청에 실패합니다. 대상에 대한 연결을 성공적으로 여는 클라이언트는 연결이 닫을 때까지 대상에 대한 단독 액세스 권한을 가집니다.

SpbTargetGetConnectionParameters 메서드를 호출하여 대상 디바이스에 대한 연결 매개 변수를 가져옵니다. SPB 컨트롤러 드라이버는 일반적으로 드라이버의 EvtSpbTargetConnect 함수에서 이 메서드를 호출합니다. SpbTargetGetConnectionParameters는 호출자가 제공한 SPB_CONNECTION_PARAMETERS 구조체에 연결 매개 변수를 씁니다. 이 구조체의 ConnectionParameters 멤버는 대상 디바이스에 대한 연결 설정을 포함하는 버퍼에 대한 포인터입니다. 드라이버는 이러한 설정을 사용하여 디바이스와 통신하도록 SPB 컨트롤러를 구성합니다. 자세한 내용은 디바이스에 대한 연결 설정을 가져오는 방법을 참조하세요.

EvtSpbTargetConnect 콜백 함수는 대상에 대한 연결을 요청하는 클라이언트 스레드의 컨텍스트에서 동기적으로 호출됩니다.

SpbCx는 EvtSpbTargetDisconnect 콜백 함수를 호출하여 이전에 EvtSpbTargetConnect 콜백에서 연 대상 연결을 닫습니다.

EvtSpbTargetConnect 콜백 함수를 등록하려면 SpbDeviceInitialize 메서드를 호출합니다.

예제

EvtSpbTargetConnect 콜백 함수를 정의하려면 먼저 정의 중인 콜백 함수의 형식을 식별하는 함수 선언을 제공해야 합니다. Windows는 드라이버에 대한 콜백 함수 형식 집합을 제공합니다. 콜백 함수 형식을 사용하여 함수를 선언하면 드라이버에 대한 코드 분석, SDV( 정적 드라이버 검증 도구 ) 및 기타 확인 도구에서 오류를 찾을 수 있으며 Windows 운영 체제용 드라이버를 작성하기 위한 요구 사항입니다.

예를 들어 라는 MyEvtSpbTargetConnectEvtSpbTargetConnect 콜백 함수를 정의하려면 다음 코드 예제와 같이 EVT_SPB_TARGET_CONNECT 함수 형식을 사용합니다.

EVT_SPB_TARGET_CONNECT  MyEvtSpbTargetConnect;

그런 다음, 다음과 같이 콜백 함수를 구현합니다.

_Use_decl_annotations_
NTSTATUS
  MyEvtSpbTargetConnect(
    WDFDEVICE Controller,
    SPBTARGET Target
    )
{ ... }

EVT_SPB_TARGET_CONNECT 함수 형식은 Spbcx.h 헤더 파일에 정의되어 있습니다. 코드 분석 도구를 실행할 때 오류를 보다 정확하게 식별하려면 함수 정의에 Use_decl_annotations 주석을 추가해야 합니다. Use_decl_annotations 주석은 헤더 파일의 EVT_SPB_TARGET_CONNECT 함수 형식에 적용되는 주석이 사용되도록 합니다. 함수 선언에 대한 요구 사항에 대한 자세한 내용은 KMDF 드라이버에 함수 역할 형식을 사용하여 함수 선언을 참조하세요. Use_decl_annotations 대한 자세한 내용은 함수 동작 주석 지정을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 부터 지원합니다.
대상 플랫폼 데스크톱
머리글 spbcx.h
IRQL PASSIVE_LEVEL 호출합니다.

추가 정보

EvtSpbTargetDisconnect

IRP_MJ_CREATE

SPBTARGET

SPB_CONNECTION_PARAMETERS

SpbDeviceInitialize