다음을 통해 공유


SerCxGetActivity 함수(sercx.h)

SerCxGetActivity 메서드는 직렬 컨트롤러 드라이버에 대한 보류 중인 작업의 상태 검색합니다.

구문

void SerCxGetActivity(
  [in]      WDFDEVICE       Device,
  [in, out] PSERCX_ACTIVITY Activity
);

매개 변수

[in] Device

직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체에 대한 WDFDEVICE 핸들입니다.

[in, out] Activity

호출자가 할당한 SERCX_ACTIVITY 구조체에 대한 포인터입니다. 호출자는 이전에 SERCX_ACTIVITY_INIT 함수를 호출하여 초기 사용 전에 이 구조를 초기화해야 합니다. 그 후 각 SerCxGetActivity 호출은 컨트롤러 드라이버에서 처리할 준비가 된 작업 항목을 추적하도록 이 구조체의 내용을 업데이트합니다.

반환 값

없음

설명

직렬 컨트롤러 드라이버는 이 메서드를 호출하여 SerCx(직렬 프레임워크 확장)를 대신하여 수행해야 하는 처리 작업의 요약을 받습니다. 일반적으로 SerCxGetActivity 는 컨트롤러 드라이버의 전송/수신 DPC 루틴에 의해 호출됩니다.

활동 매개 변수는 컨트롤러 드라이버의 보류 중인 작업을 설명하는 SERCX_ACTIVITY 구조를 가리킵니다. SerCx가 컨트롤러 드라이버에 할당하는 보류 중인 작업은 클라이언트의 I/O 요청에 의해 구동되지만 I/O 요청이 반드시 작업 항목을 생성하는 것은 아닙니다. 예를 들어 SerCx의 메모리 버퍼에 보류 중인 읽기 요청을 완료하기에 충분한 양의 수신된 데이터가 있는 경우 이 요청으로 인해 SERCX_ACTIVITY 구조의 수신 멤버가 TRUE로 설정되지 않습니다.

보류 중인 작업 항목을 순환하기 위해 전송/수신 DPC 루틴은 SerCxGetActivity를 호출하고, 전체 전송 또는 수신 작업을 처리한 다음, SerCxGetActivity 를 다시 호출하여 다른 유형의 다른 작업에 작업이 필요한지 여부를 확인합니다. 다른 작업에 작업이 필요한 경우 이 작업은 동일한 콜백 중에 시작될 수 있지만 SerCxProgressReceive 또는 SerCxProgressTransmit 호출의 반환 값이 나중에 실행되도록 DPC 루틴을 다시 예약하도록 지시하는 경우 중지해야 합니다.

잠금은 SerCxGetActivity 호출에 의해 업데이트되는 SERCX_ACTIVITY 구조를 보호합니다. 호출하는 동안 SerCx의 이벤트 처리기에서 이 잠금을 획득하여 컨트롤러 드라이버에 대해 현재 보류 중인 작업 요약을 업데이트합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 시작해서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 sercx.h
IRQL <= DISPATCH_LEVEL

추가 정보

SERCX_ACTIVITY

SERCX_ACTIVITY_INIT

SerCxCompleteWait

SerCxProgressReceive

SerCxProgressTransmit