Difference between revisions of "DosCloseVDD"
(Created page with "==Description== Closes the specified virtual device driver (VDD) handle. ==Syntax== <PRE> #define INCL_DOSMVDM #include <os2.h> HVDD hvdd; /* The handle of the virtua...") |
m |
||
Line 11: | Line 11: | ||
ulrc = DosCloseVDD(hvdd); | ulrc = DosCloseVDD(hvdd); | ||
+ | </PRE> | ||
− | |||
==Parameters== | ==Parameters== | ||
− | ; | + | ;hvdd (HVDD) - input : The handle of the virtual device driver to be closed. |
+ | Specify the handle that was returned by a previous call to DosOpenVDD. | ||
− | |||
==Return Code== | ==Return Code== | ||
ulrc (APIRET) - returns | ulrc (APIRET) - returns | ||
− | |||
DosCloseVDD returns one of the following values: | DosCloseVDD returns one of the following values: | ||
− | + | * 0 NO_ERROR | |
− | * 0 | + | * 6 ERROR_INVALID_HANDLE |
− | * 6 | + | * 644 ERROR_INVALID_CALLER |
− | * 644 | + | |
==Remarks== | ==Remarks== | ||
Line 70: | Line 68: | ||
return 1; | return 1; | ||
} | } | ||
+ | </PRE> | ||
− | |||
==Related Functions== | ==Related Functions== | ||
− | * [[ | + | *[[DosOpenVDD]] |
− | * [[ | + | *[[DosRequestVDD]] |
− | + | ||
− | [[Category: | + | [[Category:Dos]] |
Revision as of 14:12, 6 December 2016
Contents
Description
Closes the specified virtual device driver (VDD) handle.
Syntax
#define INCL_DOSMVDM #include <os2.h> HVDD hvdd; /* The handle of the virtual device driver to be closed. */ APIRET ulrc; /* Return Code. */ ulrc = DosCloseVDD(hvdd);
Parameters
- hvdd (HVDD) - input
- The handle of the virtual device driver to be closed.
Specify the handle that was returned by a previous call to DosOpenVDD.
Return Code
ulrc (APIRET) - returns
DosCloseVDD returns one of the following values:
- 0 NO_ERROR
- 6 ERROR_INVALID_HANDLE
- 644 ERROR_INVALID_CALLER
Remarks
DosCloseVDD closes the specified virtual device driver (VDD) handle.
Example Code
The following is NOT a complete C program. It is simply intended to provide an idea of how a protected-mode OS/2 process can communicate with a virtual device driver (VDD).
This example shows a protected-mode process calling a hypothetical VDD with a request to read a string of bytes from the VDD. Assume that the session identifier of the specified DOS session has been placed into SessionID already and that the sample virtual device driver has registered the name "VDD007" with the operating system.
#define INCL_DOSMVDM /* Multiple DOS sessions values */ #define INCL_DOSERRORS /* DOS Error values */ #include <os2.h> #include <stdio.h> UCHAR VDDName[10] = "VDD007"; /* Name of VDD */ HVDD VDDHandle = NULLHANDLE; /* Handle of VDD */ SGID SessionID = 0; /* Session identifier (should be initialized */ ULONG Command = 3; /* VDD function code (hypothetical) */ APIRET rc = NO_ERROR; /* Return code */ UCHAR InputBuffer[30] = "Your command here"; /* Command information */ UCHAR OutputBuffer[30] = ""; /* Output data (returned) */ rc = DosOpenVDD(VDDName, &VDDHandle); if (rc != NO_ERROR) { printf("VDD %s was not found.\n", rc); return 1; } rc = DosRequestVDD(VDDHandle, /* Handle of VDD */ SessionID, /* Session ID */ Command, /* Command to send to VDD */ sizeof(InputBuffer), /* Length of input */ InputBuffer, /* Input buffer */ sizeof(OutputBuffer), /* Length of output area */ OutputBuffer); /* Output from command */ if (rc != NO_ERROR) { printf("DosRequestVDD error: return code = %u\n", rc); return 1; } rc = DosCloseVDD(VDDHandle); /* Close the VDD */ if (rc != NO_ERROR) { printf("DosCloseVDD error: return code = %u\n", rc); return 1; }