\r
\r
/**\r
- ImageRead function that operates on a memory buffer whos base is passed into\r
- FileHandle.\r
+ Reads contents of a PE/COFF image from a buffer in system memory.\r
+ \r
+ This is the default implementation of a PE_COFF_LOADER_READ_FILE function \r
+ that assumes FileHandle pointer to the beginning of a PE/COFF image. \r
+ This function reads contents of the PE/COFF image that starts at the system memory \r
+ address specified by FileHandle. The read operation copies ReadSize bytes from the \r
+ PE/COFF image starting at byte offset FileOffset into the buffer specified by Buffer. \r
+ The size of the buffer actually read is returned in ReadSize.\r
+ \r
+ If FileHandle is NULL, then ASSERT().\r
+ If ReadSize is NULL, then ASSERT().\r
+ If Buffer is NULL, then ASSERT().\r
\r
- @param FileHandle Ponter to baes of the input stream\r
- @param FileOffset Offset to the start of the buffer\r
- @param ReadSize Number of bytes to copy into the buffer\r
- @param Buffer Location to place results of read\r
+ @param FileHandle Pointer to base of the input stream\r
+ @param FileOffset Offset into the PE/COFF image to begin the read operation.\r
+ @param ReadSize On input, the size in bytes of the requested read operation. \r
+ On output, the number of bytes actually read.\r
+ @param Buffer Output buffer that contains the data read from the PE/COFF image.\r
\r
- @retval RETURN_SUCCESS Data is read from FileOffset from the Handle into\r
+ @retval RETURN_SUCCESS Data is read from FileOffset from the Handle into \r
the buffer.\r
**/\r
RETURN_STATUS\r
OUT VOID *Buffer\r
)\r
{\r
+ ASSERT (ReadSize != NULL);\r
+ ASSERT (FileHandle != NULL);\r
+ ASSERT (Buffer != NULL);\r
+\r
CopyMem (Buffer, ((UINT8 *)FileHandle) + FileOffset, *ReadSize);\r
return RETURN_SUCCESS;\r
}\r