IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL(nfcsedev.h)
NFC 컨트롤러에 연결된 모든 보안 요소의 목록에 대한 정보를 반환합니다. 호출자는 드라이버에 의해 열거된 모든 보안 요소에 대한 정보를 보유할 수 있을 만큼 큰 출력 버퍼를 할당해야 합니다. 즉, SE 엔드포인트 정보의 총 SE 수 x 크기입니다. 그렇지 않으면 드라이버는 열거된 보안 요소 수를 포함하는 NumberOfEndpoints 필드가 있는 클라이언트에 STATUS_BUFFER_OVERFLOW 오류 코드를 반환해야 합니다. 특정 보안 요소를 참조하는 데 사용할 수 있는 보안 요소를 식별하는 GUID입니다.
주 코드
입력 버퍼
없음
입력 버퍼 길이
없음
출력 버퍼
열거된 각 디바이스에 대한 SECURE_ELEMENT_ENDPOINT_LIST .
상태 블록
Irp->요청이 성공하면 IoStatus.Status 가 STATUS_SUCCESS 설정됩니다. 가능한 오류 코드는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER | 이 코드는 출력 버퍼가 0이 아닌 경우 반환됩니다. |
STATUS_BUFFER_OVERFLOW | 제공된 버퍼가 너무 작아 라우팅 테이블 구성을 수신할 수 없습니다. |
설명
다음은 드라이버가 준수해야 하는 요구 사항입니다.
- 통합 보안 요소의 경우 GUID는 일련 번호 및/또는 보안 요소의 기타 고유 식별자에서 파생된 고유 식별자여야 합니다.
- 외부 보안 요소의 경우 GUID는 고정 상수일 수 있으며 보안 요소가 연결된 "소켓"만 식별합니다.
- 디바이스 호스트 보안 요소의 경우 드라이버는 호스트 카드 에뮬레이션을 지원하는 경우에만 SE 엔드포인트로 열거해야 합니다. DH에 사용되는 GUID는 드라이버에서 정의한 고정 상수일 수 있습니다.
- 호출자는 드라이버에 의해 열거된 모든 보안 요소에 대한 정보를 보유할 수 있을 만큼 큰 출력 버퍼를 할당해야 합니다. 버퍼는 SE 엔드포인트 정보의 크기를 곱한 드라이버로 열거된 총 SE 수와 같아야 합니다. 적절한 버퍼가 할당되지 않은 경우 드라이버는 열거된 보안 요소 수가 포함된 NumberOfEndpoints 필드를 사용하여 클라이언트에 STATUS_BUFFER_OVERFLOW 오류 코드를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | nfcsedev.h |