다음을 통해 공유


PPARALLEL_TRY_ALLOCATE_ROUTINE 콜백 함수(parallel.h)

ISR(PPARALLEL_TRY_ALLOCATE_ROUTINE 형식) 콜백 루틴은 IRQL = DIRQL에서 병렬 포트를 할당하려고 시도합니다. 병렬 포트에 대한 시스템 제공 함수 드라이버는 이 루틴을 제공합니다.

구문

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

BOOLEAN PparallelTryAllocateRoutine(
  [in] PVOID TryAllocateContext
)
{...}

매개 변수

[in] TryAllocateContext

병렬 포트를 나타내는 기능 디바이스 개체의 디바이스 확장에 대한 포인터입니다.

반환 값

반환 코드 설명
TRUE
병렬 포트가 할당되었습니다.
FALSE
병렬 포트가 할당되지 않았습니다.

설명

커널 모드 드라이버는 PARALLEL_INTERRUPT_INFORMATION 구조를 반환하는 IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT 사용하여 인터럽트 서비스 루틴을 연결합니다. 이 구조체에는 시스템 제공 ISR(PPARALLEL_TRY_ALLOCATE_ROUTINE) 콜백에 대한 포인터인 TryAllocatePortAtInterruptLevel 멤버가 포함됩니다.

ISR(PPARALLEL_TRY_ALLOCATE_ROUTINE) 콜백이 차단되지 않고 할당 요청을 큐에 대기하지 않고 즉시 반환합니다.

드라이버는 드라이버 제공 ISR과 함께 ISR(PPARALLEL_TRY_ALLOCATE_ROUTINE ) 콜백을 사용합니다. 드라이버의 ISR을 호출할 때 드라이버에 할당된 병렬 포트가 없는 경우 드라이버는 이 콜백을 사용할 수 있습니다.

ISR에서 병렬 포트를 할당하는 방법에 대한 자세한 내용은 ParallelPort에 인터럽트 서비스 루틴 연결을 참조하세요.

참고ISR(PPARALLEL_TRY_ALLOCATE_ROUTINE ) 콜백은 테스트되지 않았습니다. Microsoft는 클라이언트에서 제공하는 인터럽트 루틴을 사용하지 않는 것이 좋습니다. 인터럽트 사용으로 인해 시스템 불안정이 발생할 수 있습니다. 기본적으로 IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT 요청은 사용하지 않도록 설정됩니다.
 

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 parallel.h(Parallel.h 포함)
IRQL DIRQL

추가 정보

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_PORT_FREE

ISR(PPARALLEL_FREE_ROUTINE)

PARALLEL_INTERRUPT_INFORMATION