NFP 디바이스 인터페이스

클라이언트 애플리케이션은 열린 핸들로 전송된 정의된 I/O 제어 코드 집합을 통해 근접 디바이스와 통신합니다.

게시 및 구독 핸들

각 게시 및 각 구독은 드라이버에 대한 열린 핸들로 표시됩니다. 따라서 M 게시 및 N 구독은 드라이버에 대한 M+N 열기 핸들과 동일합니다. Windows I/O 관리자는 프로세스에 적절한 핸들 개수 제한을 적용합니다.

일반 NULL 파일 이름 핸들

게시가 아닌 요청과 비구독 요청을 드라이버에 보내기 위해 일반 파일 핸들이 열립니다. 이 유형의 핸들을 수락해야 합니다. 클라이언트는 이 핸들을 사용하여 드라이버의 최대 메시지 크기 및 전송 속도를 결정합니다.

IOCTL 지원

근접 디바이스 드라이버 인터페이스를 지원하는 IOCTL은 Nfpdev.h에 정의되어 있습니다. 컨트롤 코드는 다음 특성으로 정의됩니다.

  • METHOD_BUFFERED
  • FILE_ANY_ACCESS
  • FILE_DEVICE_NFP

각 게시 및 각 구독은 드라이버에 대한 고유한 열린 핸들로 표시됩니다. 따라서 M 게시 및 N 구독은 드라이버에 대한 M+N 열기 핸들과 동일합니다. Windows I/O 관리자는 프로세스에 적절한 핸들 개수 제한을 적용합니다.

IOCTL 코드는 헤더 Nfpdev.h에 정의됩니다.

디바이스의 보안 설명자는 OS 또는 디바이스 클래스 기본값으로 남아 있습니다.

예약 및 공급업체 IOCTL 코드

다음 표에서는 예약 및 공급업체별 제어 코드 범위에 대해 설명합니다.

Type 범위 시작 범위 끝
예약됨 CTL_CODE(FILE_DEVICE_NFP, 0x0000, *, *) CTL_CODE(FILE_DEVICE_NFP, 0x00FF, *, *)
공급업체별 CTL_CODE(FILE_DEVICE_NFP, 0x0100, *, *) CTL_CODE(FILE_DEVICE_NFP, 0x01FF, *, *)