PCONFIGURE_ADAPTER_CHANNEL 콜백 함수(wdm.h)
ConfigureAdapterChannel 루틴은 어댑터 개체가 나타내는 DMA 컨트롤러에 의해 구현되는 사용자 지정 함수를 호출합니다.
구문
PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;
NTSTATUS PconfigureAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG FunctionNumber,
[in] PVOID Context
)
{...}
매개 변수
[in] DmaAdapter
DMA_ADAPTER 구조체에 대한 포인터입니다. 이 구조체는 드라이버의 시스템 DMA 채널을 나타내는 어댑터 개체입니다. 호출자는 IoGetDmaAdapter 루틴에 대한 이전 호출에서 이 포인터를 얻었습니다.
[in] FunctionNumber
선택할 사용자 지정 함수의 수입니다. 자세한 내용은 주의 섹션을 참조하세요.
[in] Context
FunctionNumber로 지정된 사용자 지정 함수에 대한 구성 매개 변수에 대한 포인터입니다. 함수는 DMA 컨트롤러에 의해 구현되며 어댑터 개체를 통해 디바이스 드라이버에서 액세스할 수 있습니다. DMA 컨트롤러와 디바이스 드라이버는 이러한 구성 매개 변수의 의미에 동의해야 합니다. 컨텍스트가 가리키는 데이터는 운영 체제에 불투명합니다.
반환 값
ConfigureAdapterChannel 은 호출에 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 값 | Description |
---|---|
|
DMA 확장은 FunctionNumber에 지정된 함수를 구현하지 않습니다. |
설명
ConfigureAdapterChannel은 이름으로 직접 호출할 수 있는 시스템 루틴이 아닙니다. 이 루틴은 DMA_OPERATIONS 구조에서 반환된 주소의 포인터로만 호출할 수 있습니다 . 드라이버는 DeviceDescription 매개 변수의 Version 멤버가 DEVICE_DESCRIPTION_VERSION3 설정된 IoGetDmaAdapter를 호출하여 이 루틴의 주소를 가져옵니다. IoGetDmaAdapter가 NULL을 반환하는 경우 플랫폼에서 루틴을 사용할 수 없습니다.
시스템 DMA 어댑터에 대해서만 ConfigureAdapterChannel 을 사용합니다. 버스 master 어댑터에는 이 루틴을 사용하지 마세요.
특정 시스템 DMA 컨트롤러에는 디바이스 드라이버가 하나 이상의 사용자 지정 함수 집합을 통해 액세스할 수 있는 특수 하드웨어 기능이 있을 수 있습니다. 컨트롤러는 둘 이상의 사용자 지정 함수를 구현할 수 있습니다. 이 경우 각 함수는 다른 함수 번호로 식별됩니다. 이러한 함수는 DMA 하드웨어 기능을 추상화하여 다른 하드웨어 플랫폼에서 동일한 함수를 지원합니다.
일반적으로 사용자 지정 함수는 DMA 컨트롤러의 상태 정보를 설정하여 후속 DMA 전송에 사용할 하드웨어 기능을 구성합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 시작해서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
IRQL | <= DISPATCH_LEVEL |