다음을 통해 공유


SerCx2InitializeDeviceInit 함수(sercx.h)

SerCx2InitializeDeviceInit 메서드를 사용하면 직렬 컨트롤러에 대한 프레임워크 디바이스 개체를 만드는 동안 SerCx2(직렬 프레임워크 확장 버전 2)의 확장 관련 속성을 드라이버 프레임워크에 등록할 수 있습니다.

통사론

NTSTATUS SerCx2InitializeDeviceInit(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

매개 변수

[in, out] DeviceInit

KMDF(커널 모드 드라이버 프레임워크)가 프레임워크 디바이스 개체를 만드는 데 사용하는 정보를 저장하는 불투명 구조인 WDFDEVICE_INIT 구조체에 대한 포인터입니다. 직렬 컨트롤러 드라이버는 드라이버의 EvtDriverDeviceAdd 콜백 함수에 대한 입력 매개 변수로 이 구조에 대한 포인터를 받습니다.

반환 값

SerCx2InitializeDeviceInit 호출에 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 코드 묘사
STATUS_INVALID_DEVICE_REQUEST
메서드가 잘못된 IRQL에서 호출되었거나 DeviceInit 매개 변수가 NULL.
STATUS_INSUFFICIENT_RESOURCES
요청된 작업을 수행할 수 있는 리소스가 부족합니다.

발언

직렬 컨트롤러 드라이버는 직렬 컨트롤러에 대한 WDFDEVICE 개체를 만들기 전에 EvtDriverDeviceAdd 콜백 함수에서 이 메서드를 호출해야 합니다.

SerCx2InitializeDeviceInit 드라이버의 WDFDEVICE_INIT 구조에 확장 관련 정보를 연결합니다. 이 정보를 통해 SerCx2는 직렬 컨트롤러 드라이버를 대신하여 특정 작업을 수행할 수 있습니다. 예를 들어 SerCx2는 클라이언트가 직렬 컨트롤러에 보내는 I/O 요청을 받습니다.

직렬 컨트롤러 드라이버는 직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체를 만들기 전에 SerCx2InitializeDeviceInit 호출하고 SerCx2InitializeDevice 메서드를 호출하여 디바이스 개체 초기화를 완료해야 합니다. 드라이버는 WdfDeviceCreate 같은 메서드를 호출하여 디바이스 개체를 만듭니다.

SerCx2InitializeDeviceInit 커널 모드 드라이버와 사용자 모드 드라이버가 모두 SerCx2에 I/O 요청을 보낼 수 있도록 하는 기본 보안 설명자를 설정합니다. 설명자를 사용하면 애플리케이션이 관리자 권한으로 실행되는 경우에만 이러한 요청을 보낼 수 있습니다. 이 설명자를 지정하기 위해 SerCx2는 다음 SDDL 문자열을 사용합니다.

"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;UD)" 필요한 경우 직렬 컨트롤러 드라이버는 원하는 보안 설명자를 사용하여 WdfDeviceInitAssignSDDLString 메서드를 호출하여 기본 설정을 재정의할 수 있습니다. 드라이버는 SerCx2InitializeDeviceInit 호출한 후 WdfDeviceCreate호출하기 전에 WdfDeviceInitAssignSDDLString 호출해야 합니다. SDDL 문자열에 대한 자세한 내용은 디바이스 개체SDDL을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8.1 시작해서 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 sercx.h
IRQL PASSIVE_LEVEL

참고 항목

EvtDriverDeviceAdd

SerCx2InitializeDevice

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString