2 readfile, 1 syntax, 2 parameters – Lucent Technologies USS-720 User Manual

Page 63: 3 return values, 4 notes, 5 error codes, 3 i/o file functions

Advertising
background image

Preliminary User Guide, Rev. 2

USS-720

February 1999

USB Device Driver

Lucent Technologies Inc.

7-5

13

3 I/O File Functions

(continued)

3.2 ReadFile

The ReadFile I/O file function reads data from the Bulk In pipe and returns TRUE if the function is successful and
FALSE if it fails. Details regarding the syntax, parameters, return values, and error codes are listed below.

3.2.1 Syntax

BOOL
ReadFile(

HANDLE

hDev,

LPVOID

lpBuffer,

DWORD

nNumberOfBytesToRead,

LPDWORD

lpNumberOfBytesRead,

LPOVERLAPPED

lpOverlapped

);

3.2.2 Parameters

Input:
hDev—Handle returned from a successful CreateFile.

nNumberOfBytesToRead—Specifies the number of bytes to read from the device.

lpOverlapped—Pointer to an OVERLAPPED structure. This is an optional parameter that can be “NULL” if overlap-
ping I/O is not required.

Output:
lpBuffer—Pointer to the buffer to receive data from the Bulk In pipe of the device. This buffer is assumed to be in
locked system memory allocated from the nonpaged pool.

lpNumberOfBytesRead—Pointer to the number of bytes that were read.

3.2.3 Return Values

If the function succeeds, the return value is TRUE (1).

If the function fails, the return value is FALSE (0). To get extended error information, call GetLastError.

3.2.4 Notes

See the

Win32 SDK documentation for complete definitions.

3.2.5 Error Codes

ERROR_DEVICE_REMOVE—The device instance has been removed.

ERROR_DEVICE_STOP—The device instance has been stopped.

ERROR_INVALID_ALTERNATESETTING—The current alternate interface setting for this device instance does not
support the Bulk In pipe.

ERROR_PIPE_ALREADY_OPEN—The Bulk In pipe for this device instance is already open.

STATUS_INVALID_HANDLE—The Bulk In pipe handle is invalid for this device instance.

STATUS_INVALID_PARAMETER—The pipe type is invalid for this device instance.

STATUS_INSUFFICIENT_RESOURCES—Not enough memory to allocate a request to read Bulk In on this device
instance.

Advertising