SDBusRequest (Windows CE 5.0)

Send Feedback

This function asynchronously issues a bus request to an SD device. Upon completion of the bus request, the callback function passed in pCallback is called.

SD_API_STATUS SDBusRequest(SD_DEVICE_HANDLEhHandle,
  UCHARCommand,
  ULONGArgument,
  SD_TRANSFER_CLASSTransferClass,
  SD_RESPONSE_TYPEResponseType,
  ULONGNumBlocks,
  ULONGBlockSize,
  PUCHARpBuffer,
  PSD_BUS_REQUEST_CALLBACKpCallback,
  DWORDRequestParam,
  PSD_BUS_REQUEST*ppRequest,
  DWORDFlags);

Parameters:

  • hHandle
    [in] Handle to an SD bus device.
  • Command
    [in] SD command to be sent to the device.
  • Argument
    [in] 32-bit argument specific to the command.
  • TransferClass
    [in] Specifies whether the transaction will read data, (SD_READ), write data (SD_WRITE), or is command-only (SD_COMMAND).
  • ResponseType
    [in] Type of response expected to the command.
  • NumBlocks
    [in] Number of data blocks provided to send or receive data. Can be zero if TransferClass is SD_COMMAND.
  • BlockSize
    [in] Specifies the size of the data blocks provided to send or receive data. Can be zero if TransferClass is SD_COMMAND.
  • pBuffer
    [in, out] Pointer to a buffer for sending or receiving data. Can be NULL if TransferClass is SD_COMMAND.
  • pCallback
    [in] Pointer to a callback routine.
  • RequestParameter
    [in] Parameter to be passed to the callback routine.
  • ppRequest
    [out] Pointer to a pointer to a bus request structure. This structure is allocated by the bus driver and must be freed later with SDFreeBusRequest.
  • Flags
    [in] Optional. Bus request flags. This parameter can be set to SD_AUTO_ISSUE_CMD12 or SD_SDIO_AUTO_IO_ABORT to issue CMD12 or perform I/O abort respectively.

Return Values

A return value of type SD_API_STATUS indicates the success or failure of the transaction initiation. Upon completion of the transaction, further status from the SD device will be contained in the CommandResponse member of ppRequest.

Remarks

The client device driver must not make any blocking calls within the completion callback routine. The following are blocking function calls:

If a card is set to application command (ACMD) mode using CMD13, the client driver must issue the next command for ACMD mode. The client driver should not call other SD APIs while in ACMD mode as these APIs may send commands to the card that can be mis-interpreted as ACMD commands.

Requirements

OS Versions: Windows CE 5.0 and later.
Header: Sdcardddk.h.
Link Library: Sdcardlib.lib.

See Also

Secure Digital Card Driver Functions | SDFreeBusRequest

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.