Calling VTDAPI Functions

The VTDAPI provides services for ring 3 components. To obtain the VTDAPI entry point, an application must first call Get Device Entry Point Address (Interrupt 2Fh Function 1684h). For example:

include vtdapi.inc

mov ax, 1684h             ; Get Device Entry Point
mov bx, VTDAPI_DEVICE_ID  ; device identifier
xor di, di                ; initialize di
mov es, di                ; initialize es
int 2Fh                   ; multiplex interrupt

mov [VTDAPI_Addr], di
mov [VTDAPI_Addr+2], es       ; es:di contains entry point address
cmp VTDAPI_Addr, 0 
jz  NotInstalled