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, *, *) |