USBFN_SET_DEVICE_STATE 콜백 함수(usbfnattach.h)
디바이스 상태 및 운영 버스 속도를 설정하는 필터 드라이버의 구현입니다.
구문
USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;
NTSTATUS UsbfnSetDeviceState(
[in] PVOID Context,
[in] USBFN_DEVICE_STATE DeviceState,
[in] USBFN_BUS_SPEED BusSpeed
)
{...}
매개 변수
[in] Context
드라이버 정의 컨텍스트에 대한 포인터입니다.
[in] DeviceState
디바이스의 상태를 나타내는 USBFN_DEVICE_STATE 형식 플래그입니다.
[in] BusSpeed
버스 속도를 나타내는 USBFN_BUS_SPEED 형식의 플래그입니다.
반환 값
작업이 성공하면 콜백 함수는 STATUS_SUCCESS 반환하거나 NT_SUCCESS(상태)이 TRUE인 다른 상태 값을 반환해야 합니다. 그렇지 않으면 NT_SUCCESS(상태)가 FALSE와 같은 상태 값을 반환해야 합니다.
설명
연결 및 분리 검색을 지원하려면 USB 하위 필터 드라이버가 지원을 게시해야 합니다. 게시 프로세스 중에 드라이버는 이 콜백 함수의 구현도 등록합니다. 자세한 내용은 독점 충전기를 지원하기 위한 USB 필터 드라이버를 참조하세요.
낮은 필터 드라이버는 호스트에 연결할 때 제대로 충전을 구성하기 위해 디바이스 상태 변경에 대한 알림이 필요하거나 USB를 통한 충전을 사용하지 않도록 설정해야 하는 랩 시나리오에서 USBFN_SET_DEVICE_STATE 콜백 기능을 구현할 수 있습니다.
예제
NTSTATUS
UsbLowerFilter_SetDeviceState(
_In_ PVOID Context,
_In_ USBFN_DEVICE_STATE DeviceState,
_In_ USBFN_BUS_SPEED BusSpeed
)
{
PPDCP_CONTEXT PdcpContext = NULL;
PAGED_CODE();
// Get our context
PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);
PdcpContext->CurrentDeviceState = DeviceState;
PdcpContext->BusSpeed = BusSpeed;
return STATUS_SUCCESS;
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | usbfnattach.h |
IRQL | PASSIVE_LEVEL |