IOCTL_SRIOV_PROXY_QUERY_LUID IOCTL(pcivirt.h)
이 요청은 인터페이스를 구현하는 SR_IOV 디바이스의 로컬 고유 식별자를 제공합니다.
주 코드
출력 버퍼
식별자로 채워진 SRIOV_PROXY_QUERY_LUID_OUTPUT 구조체에 대한 포인터입니다.
출력 버퍼 길이
SRIOV_PROXY_QUERY_LUID_OUTPUT 구조체의 크기
상태 블록
Irp->요청이 성공하면 IoStatus.Status 가 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 NTSTATUS 코드로 적절한 오류 조건에 대한 상태입니다.
설명
이 IOCTL 요청은 가상화 스택에서 GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE 노출하는 PCI Express SR-IOV PF(물리적 함수) 드라이버로 전송됩니다.
이 IOCTL 요청은 사용자 모드에서 시작되며 물리적 디바이스의 로컬 고유 식별자를 제공하기 위해 PF(물리적 함수) 드라이버에 의해 처리됩니다. 이 요청은 직접 할당을 수행하는 SR-IOV 디바이스에만 필요합니다.
이 요청을 보내기 전에 사용자 모드 애플리케이션은 GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE 쿼리하여 PCI Express SR-IOV 디바이스에 대한 핸들을 가져와야 합니다.
이 예제에서 PF 드라이버는 ZwAllocateLocallyUniqueId 를 호출하여 고유 식별자를 생성하고 디바이스 컨텍스트에 저장합니다.
case IOCTL_SRIOV_PROXY_QUERY_LUID:
status = WdfRequestRetrieveOutputBuffer(Request,
sizeof(LUID),
&luid,
NULL);
if (!NT_SUCCESS(status))
{
break;
}
RtlCopyMemory(luid, &deviceContext->Luid, sizeof(LUID));
WdfRequestSetInformation(Request, sizeof(LUID));
status = STATUS_SUCCESS;
break;
요구 사항
요구 사항 | 값 |
---|---|
헤더 | pcivirt.h |
IRQL | PASSIVE_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기