다음을 통해 공유


ACPI_OP_REGION_HANDLER 콜백 함수(oprghdlr.h)

ACPI_OP_REGION_HANDLER 형식의 루틴은 ACPI 디바이스 함수 드라이버가 디바이스의 작업 영역에 대한 ACPI 드라이버 의 액세스를 제공하기 위해 제공됩니다.

구문

ACPI_OP_REGION_HANDLER AcpiOpRegionHandler;

NTSTATUS AcpiOpRegionHandler(
  ULONG AccessType,
  PVOID OperationRegionObject,
  ULONG Address,
  ULONG Size,
  PULONG Data,
  ULONG_PTR Context,
  PACPI_OP_REGION_CALLBACK CompletionHandler,
  PVOID CompletionContext
)
{...}

매개 변수

AccessType

다음 액세스 유형 중 하나를 지정합니다.

액세스 유형 설명
ACPI_OPREGION_WRITE 작업 영역 메모리 버퍼에 씁니다.
ACPI_OPREGION_READ 작업 영역 메모리 버퍼에서 읽습니다.

OperationRegionObject

작업 영역 처리기에 대해 RegisterOpRegionHandler 에서 반환하는 작업 영역 개체를 지정합니다.

Address

작업 영역 메모리 버퍼에서 바이트 오프셋을 지정합니다. 액세스 형식에 따라 데이터가 이 메모리 위치로 전송됩니다.

Size

액세스할 바이트 수를 지정합니다.

Data

액세스와 연결된 ACPI 드라이버에서 제공하는 데이터 버퍼에 대한 포인터입니다. 읽기 액세스의 경우 바이트는 작업 영역 메모리 버퍼에서 데이터 버퍼로 전송됩니다. 쓰기 액세스의 경우 바이트는 데이터 버퍼에서 작업 영역 메모리 버퍼로 전송됩니다.

Context

함수 드라이버가 작업 영역 처리기를 등록할 때 지정한 것과 동일한 작업 영역 컨텍스트에 대한 포인터입니다.

CompletionHandler

내부용으로 예약된 속성입니다.

CompletionContext

내부용으로 예약된 속성입니다.

반환 값

다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 액세스에 성공했습니다.
STATUS_INVALID_DEVICE_REQUEST 액세스 유형이 잘못되었습니다.
STATUS_Xxx 내부 오류가 발생했습니다.

설명

ACPI 드라이버는 작업 영역 처리기를 호출할 때 액세스가 ACPI 디바이스의 ACPI BIOS에 정의된 작업 영역 내에 있는지 확인하는 주소크기에 대한 값을 지정합니다. ACPI 디바이스 함수 드라이버는 할당하는 작업 영역 메모리 버퍼가 적어도 ACPI 디바이스에 대해 정의된 작업 영역만큼 큰지(바이트)여야 합니다.

작업 지역 처리기에 대한 자세한 내용은 작업 지역 지원을 참조하세요.

ACPI_OP_REGION_HANDLER 형식의 루틴은 호출자의 IRQL에서 실행됩니다.

작업 지역의 제약 조건에 대한 자세한 내용은 ACPI(고급 구성 및 전원 인터페이스) 사양을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 oprghdlr.h(Oprghdlr.h 포함)

추가 정보

DeRegisterOpRegionHandler