SerCx2InitializeDevice 함수(sercx.h)
SerCx2InitializeDevice 메서드는 직렬 컨트롤러에 대한 프레임워크 디바이스 개체 초기화를 완료합니다.
구문
NTSTATUS SerCx2InitializeDevice(
[in] WDFDEVICE Device,
[in] PSERCX2_CONFIG Config
);
매개 변수
[in] Device
직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체에 대한 WDFDEVICE 핸들입니다. 자세한 내용은 설명 부분을 참조하세요.
[in] Config
직렬 컨트롤러 드라이버에서 구현하는 이벤트 콜백 함수 집합에 대한 포인터를 포함하는 호출자가 할당한 SERCX2_CONFIG 구조체에 대한 포인터입니다. 직렬 프레임워크 컨트롤러 버전 2(SerCx2)는 이러한 함수를 호출하여 직렬 컨트롤러를 구성하고 드라이버가 지원하는 I/O 트랜잭션 형식(PIO, 시스템 DMA 또는 사용자 지정)과 독립적인 기본 작업을 수행합니다.
반환 값
SerCx2InitializeDevice 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 설명 |
---|---|
|
메서드가 잘못된 IRQL에서 호출되었거나 Device 매개 변수가 유효한 WDFDEVICE 핸들이 아닙니다. |
|
구성->크기 값이 sizeof(SERCX2_CONFIG)와 같지 않습니다. |
|
RequestAttributes 멤버가 잘못되었거나 필수 콜백 함수가 함수 포인터 목록에서 누락되었습니다. 자세한 내용은 설명 부분을 참조하세요. |
|
요청된 작업을 수행할 수 있는 리소스가 부족합니다. |
설명
이 메서드를 호출하기 전에 직렬 컨트롤러 드라이버는 이전에 SerCx2InitializeDeviceInit 메서드를 호출해야 합니다.
직렬 컨트롤러 드라이버는 직렬 컨트롤러에 대한 프레임워크 디바이스 개체를 만든 후 EvtDriverDeviceAdd 콜백 함수에서 이 메서드를 호출해야 합니다. 드라이버는 일반적으로 WdfDeviceCreate 와 같은 메서드를 호출하여 프레임워크 디바이스 개체를 만들고 이 개체에 대한 WDFDEVICE 핸들을 가져옵니다.
SERCX2_CONFIG 구조체의 함수 포인터 중 세 가지는 SerCx2에 필요합니다. 드라이버는 EvtSerCx2PurgeFifos, EvtSerCx2Control 및 EvtSerCx2ApplyConfig 콜백 함수를 구현해야 합니다. 그렇지 않으면 SerCx2InitializeDevice 호출이 실패하고 STATUS_INVALID_PARAMETER 반환합니다.
SERCX2_CONFIG 구조체의 RequestAttributes 멤버가 WDF_NO_OBJECT_ATTRIBUTES 이외의 값으로 설정된 경우 드라이버는 WDF_OBJECT_ATTRIBUTES_INIT 함수를 통해 이 구조체의 ParentObject, ExecutionLevel 및 SynchronizationScope 멤버에 기록된 값을 덮어써서는 안 됩니다. 그렇지 않으면 SerCx2InitializeDevice 호출이 실패하고 STATUS_INVALID_PARAMETER 반환합니다.
드라이버가 WdfDeviceInitSetRequestAttributes 메서드를 호출하여 요청 개체에 사용할 특성을 설정하는 경우 이 호출에 지정된 요청 특성은 드라이버가 SerCx2InitializeDevice 호출에서 지정하는 요청 특성과 일치해야 합니다. 자세한 내용은 SerCx2 Custom-Receive 트랜잭션 및SerCx2 Custom-Transmit 트랜잭션을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 시작해서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | sercx.h |
IRQL | PASSIVE_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기