DosCreatePipe
Appearance
Creates an unnamed pipe.
Syntax
DosCreatePipe(phfRead, phfWrite, cb)
Parameters
- phfRead (PHFILE) - output
- A pointer to an HFILE where the read handle for the pipe is returned.
- phfWrite (PHFILE) - output
- A pointer to an HFILE where the write handle for the pipe is returned.
- cb (ULONG) - input
- The amount of storage to reserve for the pipe.
Return Code
- ulrc (APIRET) - returns
- DosCreatePipe returns one of the following values:
- 0 NO_ERROR
- 8 ERROR_NOT_ENOUGH_MEMORY
Example Code
This example creates an unnamed pipe, and then closes its read and write handles.
#define INCL_DOSQUEUES /* Queue values */
#define INCL_DOSERRORS /* DOS Error values */
#include <os2.h>
#include <stdio.h>
int main(VOID) {
HFILE ReadHandle = 0; /* Read handle of pipe */
HFILE WriteHandle = 0; /* Write handle of pipe */
ULONG PipeSize = 4096; /* Size of pipe */
APIRET rc = NO_ERROR; /* API return code */
rc = DosCreatePipe(&ReadHandle, &WriteHandle, PipeSize);
if (rc != NO_ERROR) {
printf("DosCreatePipe error: return code = %u\n", rc);
return 1;
}
rc = DosClose(ReadHandle);
if (rc != NO_ERROR) {
printf("DosClose error: return code = %u\n", rc);
return 1;
}
rc = DosClose(WriteHandle);
if (rc != NO_ERROR) {
printf("DosClose error: return code = %u\n", rc);
return 1;
}
return NO_ERROR;
}