IMDSPObject::Read
The Read method reads data from the object at the current position. This operation is valid only if the storage object represents a file.
Syntax
HRESULT Read(BYTE*pData,DWORD*pdwSize,BYTEabMac[WMDM_MAC_LENGTH]);
Parameters
pData
[out] Pointer to a buffer to receive the data read from the object. This parameter is included in the output message authentication code and must be encrypted using CSecureChannelServer::EncryptParam. See Remarks.
pdwSize
[in, out] Pointer to a DWORD specifying the number of bytes of data to read. Upon return, this parameter contains the actual amount of data read*.* This parameter must be included in the input message authentication code.
abMac[WMDM_MAC_LENGTH]
[in, out] Array of eight bytes containing the message authentication code for the parameter data of this method. (WMDM_MAC_LENGTH is defined as 8.)
Return Values
The method returns an HRESULT. All the interface methods in Windows Media Device Manager can return any of the following classes of error codes:
- Standard COM error codes
- Windows error codes converted to HRESULT values
- Windows Media Device Manager error codes
For an extenstive list of possible error codes, see Error Codes.
Possible values include, but are not limited to, those in the following table.
Return code | Description |
S_OK | The method succeeded. |
WMDM_E_BUSY | The media device is busy. |
WMDM_E_INTERFACEDEAD | The file or folder was previously deleted. |
WMDM_E_CALL_OUT_OF_SEQUENCE | Open was not called before calling Read. |
E_INVALIDARG | A parameter is an invalid or NULL pointer. |
E_FAIL | An unspecified error occurred. |
Remarks
The MAC used for encryption should include both pData and pdwSize in calls to CSecureChannelServer::MACUpdate.
This method is optional. For more information, see Mandatory and Optional Interfaces.
Requirements
Header: Defined in mswmdm.h.
Library: mssachlp.lib
See Also