共用方式為


IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO IOCTL (avc.h)

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO I/O 控制虛擬子單位的列舉。 透過IRP_MJ_DEVICE_CONTROL分派,使用者模式和內核模式元件都可以使用。 對於驅動程式對驅動程序通訊,它是METHOD_BUFFERED IOCTL,因此請據以設定 IRP 字段(IrpStack->Parameters.DeviceIoControl.InputBufferLength 和 Irp->AssociatedIrp.SystemBuffer)。

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO可用來新增或移除單一類型的子單位標識碼。 具有子單位位址不同標識碼部分的後續呼叫會導致列舉標識碼的數目變更。 請注意,avc.sys 只會新增或移除最高的標識符。 這是 AV/C 規格的限制,而不是驅動程式實作。

此 IOCTL 會使用 AVC_SUBUNIT_ADDR_SPEC 結構。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

狀態區塊

如果成功,AV/C 通訊協定驅動程式會將 Irp->IoStatus.Status 設定為 STATUS_SUCCESS。

可能的其他傳回值包括:

傳回值 描述
STATUS_INSUFFICIENT_RESOURCES 未傳遞任何緩衝區,或沒有足夠的資源可執行登錄查詢。
STATUS_INVALID_BUFFER_SIZE 傳入 Irp->AssociatedIrp.SystemBuffer 的緩衝區必須至少與 sizeof(AVC_SUBUNIT_ADDR_SPEC)一樣大,其中包含單一位元節子單位位址,但限制為 32 個字節的子單位位址。
STATUS_INVALID_PARAMETER 未正確指定子單位位址。
STATUS_ACCESS_DENIED 目前的用戶沒有足夠的登錄訪問許可權,無法讓更新持續進行。

言論

必須在 IRQL = PASSIVE_LEVEL呼叫。

要求

要求 價值
標頭 avc.h (包括 Avc.h)

另請參閱

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_BUS_RESET

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO