APIRET fsAttach(ServerData * pServerData, struct attach * pattach) { APIRET rc; logMsg(L_DBG, "FS_ATTACH, flag=%hd, szDev=%s, cbParm=%d", pattach->fsFlag, pattach->szDev, pattach->cbParm); if (VERIFYFIXED(pattach->szDev) || (strlen(pattach->szDev) != 2) || (pattach->szDev[1] != ':')) return ERROR_INVALID_PARAMETER; switch (pattach->fsFlag) { case FSA_ATTACH: rc = attachVolume(pServerData, pattach); memset(pServerData->pData, 0, sizeof(IFS_ATTACH)); /* burn */ return rc; case FSA_DETACH: return detachVolume(pServerData, pattach); case FSA_ATTACH_INFO: return queryAttachmentInfo(pServerData, pattach); default: logMsg(L_EVIL, "unknown FS_ATTACH flag: %d", pattach->fsFlag); return ERROR_NOT_SUPPORTED; } }
void CWizKbSync::uploadNextAttachment() { if (m_arrayAllAttachmentsNeedToBeUploaded.empty()) { onUploadAttachmentsCompleted(); } else { m_currentUploadAttachment = m_arrayAllAttachmentsNeedToBeUploaded[0]; m_arrayAllAttachmentsNeedToBeUploaded.erase(m_arrayAllAttachmentsNeedToBeUploaded.begin()); queryAttachmentInfo(m_currentUploadAttachment.strGUID, m_currentUploadAttachment.strName); } }