다음을 통해 공유


SpbDeviceInitialize 함수(spbcx.h)

SpbDeviceInitialize 메서드는 이 드라이버가 연결된 디바이스 개체를 만든 후 SPB 컨트롤러 드라이버의 초기화를 완료합니다.

구문

NTSTATUS SpbDeviceInitialize(
  [in] WDFDEVICE              FxDevice,
  [in] PSPB_CONTROLLER_CONFIG Config
);

매개 변수

[in] FxDevice

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

[in] Config

SPB 컨트롤러 드라이버에 대한 디바이스 구성 정보를 포함하는 SPB_CONTROLLER_CONFIG 구조체에 대한 포인터입니다. 이 구조체는 SPB_CONTROLLER_CONFIG_INIT 함수에 의해 초기화되어야 합니다.

반환 값

SpbDeviceInitialize 는 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환합니다.

설명

SPB 컨트롤러 드라이버는 이 메서드를 호출하여 SPB 프레임워크 확장(SpbCx)에 이벤트 콜백 함수를 등록하고 컨트롤러의 I/O 큐에 사용할 전송 모드를 지정합니다. SpbDeviceInitialize 는 I/O 큐를 포함하여 컨트롤러의 모든 내부 데이터 구조를 만듭니다.

SPB 컨트롤러 드라이버는 디바이스 개체를 커밋 하기 전에 이 메서드를 호출해야 합니다. 즉, EvtDriverDeviceAdd 콜백에서 반환하거나 PDO를 컨트롤러의 자식 목록에 추가하기 전에 호출해야 합니다. 자식 목록은 버스에 연결된 디바이스를 나타냅니다. 자세한 내용은 버스에서 디바이스 열거를 참조하세요.

SpbDeviceInitialize가 반환되면 컨트롤러는 I/O 요청을 처리할 준비가 되었지만 SPB 컨트롤러 드라이버는 필요에 따라 디바이스 개체를 커밋하기 전에 컨트롤러 설정을 계속 구성할 수 있습니다.

구성이 가리키는 구조체가 올바르게 채워지지 않으면 드라이버 검증 도구에서 오류가 발생합니다. Config 매개 변수의 요구 사항에 대한 자세한 내용은 SPB_CONTROLLER_CONFIG.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 spbcx.h
라이브러리 Spbcxstubs.lib
IRQL PASSIVE_LEVEL

추가 정보

EvtChildListCreateDevice

EvtDriverDeviceAdd

SPB_CONTROLLER_CONFIG

SPB_CONTROLLER_CONFIG_INIT