hvsd (HVSD) - input
ulFunc (ULONG) - input
┌──────────────────────────────┬──────────────────────────────┐│Command │Description │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_CLOSE │Closes the device. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_DDCMD │Allows communication between │ │ │stream handlers and their │ │ │attached devices. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_ESCAPE │Sends a buffer to the device. │ │ │(Optional) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_GETDEVCAPS │Retrieves the device │ │ │capabilities. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_OPEN │Opens an instance of the │ │ │device. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_QUERY │Queries the status of the │ │ │device. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_RESOURCE │Manages resources. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_RESTORE │Restores device to a saved │ │ │state. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_SAVE │Saves the current state of the│ │ │device instance. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_SET │Modifies settings of the │ │ │device. (Required) │ ├──────────────────────────────┼──────────────────────────────┤ │VSD_USER │Allows user-defined commands │ │ │to be passed into the VSD. │ │ │(Optional) │ └──────────────────────────────┴──────────────────────────────┘
ulFlags (ULONG) - input
pRequest (PVOID) - input
rc (ULONG) - returns
If a VSD requires unique return codes for certain conditions, it can use return codes starting at VSDERR_BASE.