VDS 알림
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
공급자는 VDS에 이벤트 알림을 보낼 수 있으며 VDS는 애플리케이션에 알림을 전달할 수 있습니다. VDS에서 사용되는 알림 모델은 COM 개체에서 사용하는 연결 지점 모델과 유사합니다.
VDS는 드라이브 문자 할당 또는 할당되지 않은 디스크 도착과 같은 이벤트에 대한 서비스 알림을 생성합니다. VDS가 공급자에 디스크를 할당하면 공급자는 연결된 알림을 생성해야 합니다. 다음 그림은 VDS 알림 모델에 사용되는 인터페이스 및 메서드를 보여 줍니다.
알림을 수신하기 위해 VDS는 IVdsProviderPrivate::OnLoad 메서드를 호출하고 인터페이스에 대한 포인터를 전달하여 IVdsAdviseSink 인터페이스를 공급자 개체에 등록합니다. 새 볼륨 또는 드라이브의 도착과 같은 알림 이벤트가 발생하면 공급자는 적절한 알림 구조를 IVdsAdviseSink::OnNotify 메서드 매개 변수로 VDS에 전달합니다 .
이 프로세스는 애플리케이션과 VDS 간에 유사합니다. 특히 알림을 받기 위해 애플리케이션은 IVdsService::Advise 메서드를 호출하고 인터페이스에 포인터를 전달하여 해당 IVdsAdviseSink 인터페이스를 VDS에 등록합니다. VDS는 공급자로부터 알림을 받으면 등록된 애플리케이션에 적절한 알림 구조를 IVdsAdviseSink::OnNotify 메서드 매개 변수로 전달합니다.
참고
Advise를 호출하는 애플리케이션은 결국 IVdsService::Unadvise 메서드를 호출해야 합니다. 이상적으로는 더 이상 알림을 받을 필요가 없는 즉시 Unadvise 를 호출해야 합니다.
다음 표에는 개체 유형별 공급자 생성 알림이 나열되어 있습니다.
Object | 알림 | 값 | 이벤트 설명에 연결 |
---|---|---|---|
Pack | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Pack | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Pack | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
볼륨 | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
볼륨 | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
볼륨 | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
볼륨 | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
디스크 | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
디스크 | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
디스크 | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
파티션 | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
파티션 | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
파티션 | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
하위 시스템 | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
하위 시스템 | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
하위 시스템 | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
컨트롤러 | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
컨트롤러 | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
컨트롤러 | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
컨트롤러 | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
포트 | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
포트 | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
드라이브 | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
드라이브 | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
드라이브 | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
드라이브 | VDS_NF_DRIVE_REMOVED | 354 | VDS_DRIVE_NOTIFICATION |
LUN | VDS_NF_LUN_ARRIVE | 108 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_DEPART | 109 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_MODIFY | 110 | VDS_LUN_NOTIFICATION |
VDS는 나머지 알림을 생성합니다. 다음 표에서는 범주별 서비스 기반 알림 상수를 나열합니다.
범주 | 알림 | 값 | 이벤트 설명에 연결 |
---|---|---|---|
디스크 | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
디스크 | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
디스크 | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
드라이브 문자 | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
드라이브 문자 | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
파일 시스템 | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
파일 시스템 | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
볼륨 | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
관련 항목