IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL(mountdev.h)

IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME 디바이스 또는 볼륨 드라이버와 같은 탑재 관리자 클라이언트에서 연결된 볼륨에 대한 드라이브 문자 또는 링크 이름을 제안할 수 있습니다.

탑재 관리자 클라이언트에서 이 IOCTL에 대한 지원은 선택 사항입니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

없음

입력 버퍼 길이

없음

출력 버퍼

클라이언트 드라이버는 Irp-AssociatedIrp.SystemBuffer>에서 버퍼의 시작 부분에 MOUNTDEV_SUGGESTED_LINK_NAME 형식의 가변 길이 구조를 배치해야 합니다. 클라이언트 드라이버는 이 구조체의 이름 멤버가 가리키는 주소에 제안된 영구 이름을 삽입해야 합니다.

출력 버퍼 길이

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.OutputBufferLength는 출력 버퍼의 크기(바이트)를 나타내며, 이 크기는 보다 크거나 같sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)아야 합니다.

입력/출력 버퍼

해당 없음

입력/출력 버퍼 길이

해당 없음

상태 블록

작업이 성공하면 정보 필드가 반환된 총 바이트 수로 설정되고 상태 필드는 STATUS_SUCCESS 설정됩니다.

OutputBufferLengthsizeof(MOUNTDEV_SUGGESTED_LINK_NAME)보다 작으면 상태 필드가 STATUS_INVALID_PARAMETER 설정됩니다.

OutputBufferLength가 출력 데이터의 총 길이보다 작은 경우 상태 필드는 STATUS_BUFFER_OVERFLOW 설정되고 정보 필드는 sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)로 설정됩니다.

설명

일부 탑재 관리자 클라이언트는 탑재 관리자의 도움 없이 시스템 재부팅에서 드라이브 문자를 추적할 수 있습니다. 이러한 클라이언트는 이 IOCTL에 대한 응답으로 탑재 관리자에게 제안된 드라이브 문자 이름을 보낼 수 있습니다. 탑재 관리자의 데이터베이스에 클라이언트 볼륨에 대한 영구 드라이브 문자 이름이 아직 포함되어 있지 않은 경우 탑재 관리자는 제안된 이름을 사용합니다. 그렇지 않으면 제안을 무시하고 영구 이름 데이터베이스에서 드라이브 문자 이름을 사용합니다.

드라이브 문자 이름은 개체 네임스페이스에 기호 링크의 전체 경로를 포함해야 하며 기존 MS-DOS 구문이 있어야 합니다. 예를 들어 드라이브 문자 "D"는 "\DosDevices\D:"와 같은 방식으로 표현되어야 합니다. 의 대체 기호 링크 경로 "?? \D:"는 사용할 수 없으며 "D:"와 같은 기호 링크의 약어도 사용할 수 없습니다.

이 함수의 구현자는 스레드 동기화를 수행해서는 안 되며 차단 및/또는 IPC(Interprocess Communication) 함수 호출을 수행해서는 안 됩니다.

자세한 내용은 스토리지 클래스 드라이버에서 탑재 관리자 요청 지원을 참조하세요.

요구 사항

요구 사항
헤더 mountdev.h(Mountdev.h 포함)

추가 정보

MOUNTDEV_SUGGESTED_LINK_NAME