다음을 통해 공유


작업 지역 처리기 등록 및 등록 취소

ACPI 디바이스 함수 드라이버는 RegisterOpRegionHandler 를 호출하고 다음 정보를 제공하여 작업 영역 처리기를 등록합니다.

  • 작업 영역을 정의하는 ACPI 디바이스를 나타내는 PDO(물리적 디바이스 개체)입니다.

  • 원시 또는 조리할 수 있는 액세스 유형입니다.

    자세한 내용은 작업 영역 액세스를 참조하세요.

  • 영역 공간의 형식입니다.

    공급업체는 공급업체에서 정의한 값을 0x80 0xFF 지정해야 합니다. (0x80 미만의 값은 ACPI 사양에 의해 정의되며 내부용으로 예약됩니다.)

  • 드라이버의 작업 영역 처리기에 대한 포인터입니다.

    ACPI 드라이버는 드라이버의 작업 영역 처리기를 호출하여 작업 영역에 액세스합니다.

  • 작업 영역 컨텍스트에 대한 포인터입니다.

    작업 영역 컨텍스트는 디바이스별로 지정되며 함수 드라이버에서만 사용됩니다. ACPI 드라이버는 작업 영역 처리기를 호출하면 작업 영역 컨텍스트를 처리기에 다시 전달합니다. 일반적으로 FDO(기능 디바이스 개체)의 디바이스 확장입니다.

RegisterOpRegionHandler 는 드라이버가 처리기를 등록 취소할 때만 함수 드라이버가 작업 영역 처리기를 고유하게 식별하는 데 사용하는 작업 영역 개체를 반환합니다.

일반적으로 드라이버는 IRP_MN_START_DEVICE 요청에 대한 응답으로 FDO를 시작한 후 드라이버의 플러그 앤 플레이 디스패치 루틴에 작업 영역 처리기를 등록합니다. 드라이버는 처리기의 작업 영역 컨텍스트를 할당한 후 처리기를 등록해야 합니다. 드라이버가 공급업체에서 정의한 디바이스 인터페이스를 만드는 경우 드라이버는 처리기를 등록한 후 디바이스 인터페이스를 사용하도록 설정해야 합니다.

ACPI 디바이스 함수 드라이버는 DeRegisterOpRegionHandler 를 호출하고 다음 정보를 제공하여 작업 영역 처리기를 등록 취소합니다.

  • 작업 영역을 정의하는 ACPI 디바이스를 나타내는 PDO입니다.

  • 드라이버가 작업 영역 처리기를 등록할 때 ACPI 드라이버가 반환한 작업 영역 개체입니다. 이 개체는 작업 영역 처리기를 고유하게 식별합니다.

일반적으로 드라이버는 IRP_MN_STOP_DEVICE 요청에 대한 응답으로 FDO를 중지하기 전에 드라이버의 플러그 앤 플레이 디스패치 루틴에서 작업 영역 처리기를 등록 취소합니다. 드라이버는 처리기의 작업 영역 컨텍스트를 해제하기 전에 처리기를 등록 취소해야 합니다. 드라이버가 공급업체에서 정의한 디바이스 인터페이스를 만드는 경우 드라이버는 처리기를 등록 취소하기 전에 디바이스 인터페이스를 사용하지 않도록 설정해야 합니다.