다음을 통해 공유


콜백 동기화 모드 지정

경고

UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다.

보관된 UMDF 1 샘플은 Windows 11 버전 22H2 - 2022년 5월 드라이버 샘플 업데이트찾을 수 있습니다.

자세한 내용은 UMDF 시작하기를 참조하세요.

드라이버는 프레임워크에서 콜백 함수를 호출하는 방법을 지정할 수 있습니다. 드라이버는 디바이스에 대한 디바이스 개체를 생성하기 위해 IWDFDriver::CreateDevice 메서드를 호출하기 전에 디바이스의 동기화(또는 잠금) 모드를 지정합니다. 동기화 모드를 지정하려면 드라이버는 IWDFDeviceInitialize::SetLockingConstraint 메서드를 호출해야 합니다. 드라이버는 IWDFDeviceInitialize 인터페이스에 대한 포인터를 IDriverEntry::OnDeviceAdd 메서드가 호출되어 시스템에 디바이스가 추가될 때 받습니다.

드라이버는 IWDFDeviceInitialize::SetLockingConstraint의 LockType 매개 변수에서 WDF_CALLBACK_CONSTRAINT 열거형 형식의 다음 값 중 하나를 지정하여 잠금 모드를 식별할 수 있습니다. 지정된 제약 조건(또는 잠금) 유형은 하드웨어 디바이스가 악용할 수 있는 병렬 처리의 양과 드라이버가 처리할 수 있는 양에 따라 달라집니다.

가치 의미

없음 (0)

드라이버에 대한 콜백 함수가 동기화되지 않음을 나타냅니다.

WdfDeviceLevel (1)

드라이버에 대한 모든 큐 콜백 함수가 동기화됨을 나타냅니다.

참고 드라이버가 IWDFDeviceInitialize::SetLockingConstraint를 호출하여 값을 지정하지 않으면 프레임워크는 이 속성의 기본값을 WdfDeviceLevel로 설정합니다.

제약 조건은 PnP(플러그 앤 플레이) 및 전원 관리 콜백 함수가 아닌 큐 콜백 함수에만 적용됩니다. 큐 콜백 함수에는 다음이 포함됩니다.

요청 완료 콜백 함수(IRequestCallbackRequestCompletion::OnCompletion)는 큐 콜백 함수가 아닙니다. 따라서 동기화되지 않습니다.