Jump to content

FSH DOVOLIO2: Difference between revisions

From EDM2
Created page with "This function is an FSD call that controls device driver operation independently from I/O operations. ==Syntax== FSH_DOVOLIO2(hDev, sfn, cat, func, pParm, cbParm, pData, ..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
This function is an FSD call that controls device driver operation independently from I/O operations.  
This function is an FSD call that controls device driver operation independently from I/O operations.


==Syntax==
==Syntax==
  FSH_DOVOLIO2(hDev, sfn, cat, func, pParm, cbParm, pData, cbData)
  FSH_DOVOLIO2(hDev, sfn, cat, func, pParm, cbParm, pData, cbData)
==Parameters==
==Parameters==
;hDev: is the device handle obtained from VPB  
;hDev: is the device handle obtained from VPB
 
;sfn: is the system file number from the open instance that caused the FSH_DOVOLIO2 call.
;sfn: is the system file number from the open instance that caused the FSH_ DOVOLIO2 call.  
:This field should be passed unchanged from the sfi-selfsfn field. It no open instance corresponds to this call, this field should be set to 0xFFFF.
 
;cat: is the category of IOCTL to perform.
:This field should be passed unchanged from the sfi-selfsfn field. It no open instance corresponds to this call, this field should be set to 0xFFFF.  
;func: is the function within the category of IOCTL.
 
;pParm: is the long address to the parameter area.
;cat: is the category of IOCTL to perform.  
;cbParm: is the length of the parameter area.
 
;pData: is the long address to the data area.
;func: is the function within the category of IOCTL.  
;cbData: is the length of the data area.
 
;pParm: is the long address to the parameter area.  
 
;cbParm: is the length of the parameter area.  


;pData: is the long address to the data area. 
;cbData: is the length of the data area.
==Returns==
==Returns==
If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned:  
If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned:
 
*ERROR_INVALID_FUNCTION indicates the function supplied is incompatible with the category and the device handle supplied.
*ERROR_INVALID_FUNCTION indicates the function supplied is incompatible with the category and the device handle supplied.  
*ERROR_INVALID_CATEGORY indicates the category supplied is incompatible with the function and the device handle supplied.
 
*Device-driver/device-manager errors listed /DDERR/
*ERROR_INVALID_CATEGORY indicates the category supplied is incompatible with the function and the device handle supplied.  
 
*Device-driver/device-manager errors listed /DDERR/  


==Calling Sequence==
==Calling Sequence==
Line 43: Line 34:
unsigned short cbData;
unsigned short cbData;
</PRE>
</PRE>
==Remarks==
==Remarks==
This routine supports volume management for IOCTL operations. Any errors are reported to the hard error daemon before returning to the FSD. Any retries indicated by the hard error daemon or actions indicated by DosError are done within the call to FSH_DOVOLIO2.  
This routine supports volume management for IOCTL operations. Any errors are reported to the hard error daemon before returning to the FSD. Any retries indicated by the hard error daemon or actions indicated by DosError are done within the call to FSH_DOVOLIO2.


The purpose of this routine is to enable volume tracking with IOCTLs. It is not available at the API level.  
The purpose of this routine is to enable volume tracking with IOCTLs. It is not available at the API level.


FSH_DOVOLIO2 may block.  
FSH_DOVOLIO2 may block.


System does normal volume checking for this request.  
System does normal volume checking for this request.


;Note: OS/2 does not validate input parameters. An FSD, therefore, should call FSH_PROBEBUF where appropriate.  
;Note: OS/2 does not validate input parameters. An FSD, therefore, should call FSH_PROBEBUF where appropriate.


[[Category:IFS Interfaces]]
[[Category:IFS Interfaces]]
{{DISPLAYTITLE:FSH_DOVOLIO2}}
{{DISPLAYTITLE:FSH_DOVOLIO2}}

Latest revision as of 04:54, 20 February 2020

This function is an FSD call that controls device driver operation independently from I/O operations.

Syntax

FSH_DOVOLIO2(hDev, sfn, cat, func, pParm, cbParm, pData, cbData)

Parameters

hDev
is the device handle obtained from VPB
sfn
is the system file number from the open instance that caused the FSH_DOVOLIO2 call.
This field should be passed unchanged from the sfi-selfsfn field. It no open instance corresponds to this call, this field should be set to 0xFFFF.
cat
is the category of IOCTL to perform.
func
is the function within the category of IOCTL.
pParm
is the long address to the parameter area.
cbParm
is the length of the parameter area.
pData
is the long address to the data area.
cbData
is the length of the data area.

Returns

If no error is detected, a zero error code is returned. If an error is detected, one of the following error codes is returned:

  • ERROR_INVALID_FUNCTION indicates the function supplied is incompatible with the category and the device handle supplied.
  • ERROR_INVALID_CATEGORY indicates the category supplied is incompatible with the function and the device handle supplied.
  • Device-driver/device-manager errors listed /DDERR/

Calling Sequence

int far pascal FSH_DOVOLIO2(hDev, sfn, cat, func, pParm, cbParm, pData, cbData)

unsigned long hDev;
unsigned short sfn;
unsigned short cat;
unsigned short func;
char far * pParm;
unsigned short cbParm;
char far * pData;
unsigned short cbData;

Remarks

This routine supports volume management for IOCTL operations. Any errors are reported to the hard error daemon before returning to the FSD. Any retries indicated by the hard error daemon or actions indicated by DosError are done within the call to FSH_DOVOLIO2.

The purpose of this routine is to enable volume tracking with IOCTLs. It is not available at the API level.

FSH_DOVOLIO2 may block.

System does normal volume checking for this request.

Note
OS/2 does not validate input parameters. An FSD, therefore, should call FSH_PROBEBUF where appropriate.