您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CompleteRequest函数代码示例

51自学网 2021-06-01 20:12:57
  C++
这篇教程C++ CompleteRequest函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CompleteRequest函数的典型用法代码示例。如果您正苦于以下问题:C++ CompleteRequest函数的具体用法?C++ CompleteRequest怎么用?C++ CompleteRequest使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CompleteRequest函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: GetDeviceInfo

/******************************************************************************* Procedure:  CJTLine::OnSetAgentActivity**** Arguments: 'pReq' - Request object representing this SetAgentActivity event **            'lpBuff' - Our CEventBlock* pointer**** Returns:    void**** Description:  This function manages the lineSetAgentActivity processing**               for this service provider.*******************************************************************************/bool CJTLine::OnSetAgentActivity(RTSetAgentActivity* pRequest, LPCVOID /*lpBuff*/){	// Validate the activity itself and either reject it or allow it	// to be set into the agent properties. The provider manages the agent	// activities itself since the ACD doesn't support the concept.	TString strActivity = GetDeviceInfo()->GetAgentActivityById(pRequest->GetActivity());	if (strActivity.empty())		CompleteRequest(pRequest, LINEERR_INVALAGENTACTIVITY);	else		CompleteRequest(pRequest, 0);	// Let the request fall through to the unsolicited handler.	return false;}// CJTLine::OnSetAgentActivity
开发者ID:junction,项目名称:jn-tapi,代码行数:27,


示例2: DispatchReadWriteFlush

NTSTATUS DispatchReadWriteFlush(PDEVICE_OBJECT fdo, PIRP Irp){    KIRQL OldIrql;    ULONG count;        PDEVICE_EXTENSION  pdx   = (PDEVICE_EXTENSION) fdo->DeviceExtension;    PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation( Irp );    if(stack->MajorFunction == IRP_MJ_WRITE)    {        if(stack->Parameters.Write.Length == 0)        {            return CompleteRequest( Irp, STATUS_SUCCESS, 0 );        }        // write         IoMarkIrpPending(Irp);                StartPacket( &pdx->dqWrite, fdo, Irp, OnCancelWrite );            }    else if(stack->MajorFunction == IRP_MJ_READ)     {        if(stack->Parameters.Read.Length == 0)        {            return CompleteRequest( Irp, STATUS_SUCCESS, 0 );        }                // read         IoAcquireRemoveLock( &pdx->RemoveLock, Irp   );        IoMarkIrpPending   ( Irp                     );        IoSetCancelRoutine ( Irp, OnCancelQueuedRead );                KeAcquireSpinLock( &pdx->ReadIrpLock, &OldIrql                     );        InsertTailList   ( &pdx->ReadIrpList, &Irp->Tail.Overlay.ListEntry );        KeReleaseSpinLock( &pdx->ReadIrpLock, OldIrql                      );        CompleteQueuedReads(pdx);    }     else     {        // flush        IoMarkIrpPending( Irp );        StartPacket     ( &pdx->dqWrite, fdo, Irp, OnCancelWrite );    }    return STATUS_PENDING;}
开发者ID:AustinWise,项目名称:Netduino-Micro-Framework,代码行数:48,


示例3: CompleteRequest

/******************************************************************************* Procedure:  CJTPhone::OnSetHookswitch**** Arguments: 'pReq' - Request object representing this phone request**            'lpBuff' - Our CEventBlock* pointer**** Returns:    void**** Description:  This function manages the TSPI_phoneSetHookSwitch processing**               for this service provider. *******************************************************************************/bool CJTPhone::OnSetHookswitch(RTSetHookswitch* pRequest, LPCVOID lpBuff){	// Cast our pointer back to an event block	const CEventBlock* pBlock = static_cast<const CEventBlock*>(lpBuff);	// If we are in the initial state (i.e. this request has not been processed	// before by any other thread). Then move the packet to the waiting state so 	// other threads will not interfere with other events or timers.  This is 	// guarenteed to be thread-safe and atomic.	if (pRequest->EnterState(STATE_INITIAL, STATE_WAITING))	{		// Validate the state passed		if (pRequest->GetHookswitchState() == PHONEHOOKSWITCHMODE_ONHOOK ||			pRequest->GetHookswitchState() == PHONEHOOKSWITCHMODE_MIC)			CompleteRequest(pRequest, PHONEERR_INVALHOOKSWITCHMODE);		// Send the command to the switch		else			GetDeviceInfo()->DRV_SetHookswitch(this, (pRequest->GetHookswitchState() == PHONEHOOKSWITCHMODE_MICSPEAKER) ? 1 : 0);	}	// If we are in the waiting stage (2) then see if we received an event from the	// switch (vs. an interval timer) and if that event was an ACK/NAK in response	// to the command we issued.	else if (pRequest->GetState() == STATE_WAITING && pBlock != NULL)	{		// If this is a command response for our SETGAIN, then manage it.		const CPECommand* peCommand = dynamic_cast<const CPECommand*>(pBlock->GetElement(CPBXElement::Command));		const CPEErrorCode* pidError = dynamic_cast<const CPEErrorCode*>(pBlock->GetElement(CPBXElement::ErrorCode));		if (pBlock->GetEventType() == CEventBlock::CommandResponse &&			peCommand->GetCommand() == CPECommand::SetHookSwitch && pidError != NULL)		{			// Complete the request with the appropriate error code.			TranslateErrorCode(pRequest, pidError->GetError());			return true;		}	}	// Check to see if our request has exceeded the limit for processing.  If 	// so, tell TAPI that the request failed and delete the request.	if (pRequest->GetState() == STATE_WAITING && 		(pRequest->GetStateTime()+REQUEST_TIMEOUT) < GetTickCount())		CompleteRequest(pRequest, PHONEERR_OPERATIONFAILED);	// Let the request fall through to the unsolicited handler where we	// set all the options concerning the newly found call.	return false;	}// CJTPhone::OnSetHookswitch
开发者ID:junction,项目名称:jn-tapi,代码行数:60,


示例4: DispatchForSCSI

NTSTATUS DispatchForSCSI(IN PDEVICE_OBJECT fido, IN PIRP Irp){//	KdPrint((DRIVERNAME " - Enter DispatchForSCSI /n"));	PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido->DeviceExtension;		PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp); 	// Pass request down without additional processing	NTSTATUS status;	status = IoAcquireRemoveLock(&pdx->RemoveLock, Irp);	if (!NT_SUCCESS(status))		return CompleteRequest(Irp, status, 0);	IoCopyCurrentIrpStackLocationToNext(Irp);		IoSetCompletionRoutine( Irp,							USBSCSICompletion,							NULL,							TRUE,							TRUE,							TRUE ); 	status = IoCallDriver(pdx->LowerDeviceObject, Irp);	IoReleaseRemoveLock(&pdx->RemoveLock, Irp);	return status;}
开发者ID:caidongyun,项目名称:libs,代码行数:26,


示例5: CompleteRequest

/**Initialises the BIC's active object and initiates the command @param aStatus 	the TRequestStatus of the active object calling this BIC*/	void CCmdPersistHalAttributes::Execute( TRequestStatus& aStatus )	{	aStatus = KRequestPending;	iExecuteRequest = &aStatus;	CompleteRequest(iStatus, KErrNone);	SetActive();	}
开发者ID:cdaffara,项目名称:symbiandump-os1,代码行数:12,


示例6: FTRACE

// ----------------------------------------------------------------------------// Standard active object cancellation function.// ----------------------------------------------------------------------------//void CUsbActiveMscHandler::DoCancel()    {    FTRACE( FPrint(        _L( "[USBWATCHER]/tCUsbActiveMscHandler: DoCancel iMscState=%d" ),        iMscState ) );    //Remove all notes. The state may have changed after the confirm unload    //is started.    if (iMscState != EUsbMscStateForciblyDismounting)        {        iPersonalityParams.PersonalityNotifier().CancelAll();        }    switch (iMscState)        {        case EUsbMscStateStarting:        case EUsbMscStateStopping:            break;        case EUsbMscStateMounting:        case EUsbMscStateForciblyDismounting:            if (iDismountFatTimer)                {                iDismountFatTimer->Cancel();                }            iFs.NotifyDismountCancel();            break;                                default:            FLOG(_L("[USBWATCHER]/tCUsbActiveMscHandler::DoCancel: ERROR"));                    break;        }    CompleteRequest(KErrCancel);    }
开发者ID:cdaffara,项目名称:symbiandump-mw4,代码行数:39,


示例7: FLOG

// ----------------------------------------------------------------------------// Called by personality handler when personality stop needs to be finished. // ----------------------------------------------------------------------------//void CUsbActiveMscHandler::FinishPersonalityStop(TRequestStatus& aStatus)    {    FLOG(_L("[USBWATCHER]/tCUsbActiveMscHandler: FinishPersonalityStop"));    //Mounting may be ongoing    iRequestStatus = NULL; //do not complete in DoCancel    Cancel();         //unmount in case device state not yet Undefined    if (iMountChanged)        {        UnmountMassStorage();        }            RemoveMassStorageFileSystem();    if (iIsQueryNoteShown)        {        // Remove all queries shown by this personality        iPersonalityParams.PersonalityNotifier().CancelQuery(KQueriesNotifier);        iIsQueryNoteShown = EFalse;        }            iMscState = EUsbMscStateIdle;    iRequestStatus = &aStatus;    aStatus = KRequestPending;    CompleteRequest(KErrNone);    }
开发者ID:cdaffara,项目名称:symbiandump-mw4,代码行数:33,


示例8: bufPtr

/** *  Takes a buffer from the client, sends to the driver and back to the client. * *  @param aMessage  RMessage2 client request. */void CShBufTestServerSession::FromTPtr8ProcessAndReturnL(const RMessage2& aMessage)	{	//	// Read the client buffer...	//	TPtr8  bufPtr(iSessionTempBuffer, sizeof(iSessionTempBuffer));		aMessage.ReadL(0, bufPtr); 	TUint bufSize;	bufSize = aMessage.Int1();	//	// Pass to the server to pass to the driver and back...	//	TInt  result;		result = Server().FromTPtr8ProcessAndReturn(bufPtr, bufSize);	//	// Write the client buffer back...	//	aMessage.WriteL(0, bufPtr); 	//	// Complete the request...	//	CompleteRequest(aMessage, result);	} // CShBufTestServerSession::FromTPtr8ProcessAndReturnL
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:35,


示例9: Server

/** *  Takes a buffer from the client, sends to the driver and back to the client. * *  @param aMessage  RMessage2 client request. */void CShBufTestServerSession::FromRShBufProcessAndReturnL(const RMessage2& aMessage)	{	//	// Read the client handle buffer...	//	RShBuf shBuf;	TUint bufSize;	bufSize = aMessage.Int1();	//	// Pass to the server to pass to the driver and back...	//	TInt  result;	result = Server().FromRShBufProcessAndReturn(shBuf, bufSize);	//	// Write the client buffer handle back...	//#ifdef CAN_TRANSFER_SHBUF_TO_ANOTHER_PROCESS	// TDBD aMessage.Complete(shbuf->Handle());#else	TPckg<TInt> handlePckg(shBuf.Handle());	aMessage.WriteL(0, handlePckg);#endif	//	// Complete the request...	//	CompleteRequest(aMessage, result);	} // CShBufTestServerSession::FromRShBufProcessAndReturnL
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:37,


示例10: LBS_RDEBUG_VAR_INT

/** * From CActive */void CPositionRequest::RunL()    {    LBS_RDEBUG_VAR_INT("CPositionRequest::RunL() iRequestPhase", iRequestPhase);    TInt err = iStatus.Int();    switch (iRequestPhase)        {        case EPosReqPositionRequest:            {            LBS_RDEBUG_INFO("CPositionRequest::RunL() EPosReqPositionRequest");            // Position request finished. Cancel timer.            iTimeoutTimer->Cancel();            iRequestPhase = EPosReqInactive;            CompleteRequest(err);            HandleTrackingStateL(); // don't care if it leaves            break;            }        case EPosWaitForTracking:            StartPositionDataRequestPhase();            break;        default :        	DEBUG_TRACE("CPositionRequest::RunL() panicing", __LINE__)            DebugPanic(EPosServerPanicRequestInconsistency);        }    }
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:31,


示例11: shPoolInfoPckg

/** *  Allows the client to ask the test server to open a buffer pool. * *  @param aMessage  RMessage2 client request. */void CShBufTestServerSession::OpenRShBufPoolL(const RMessage2& aMessage)	{	//	// Read the handle...	//	TInt  poolHandle = aMessage.Int0();		//	// Read the pool info...	//	TShPoolInfo  shPoolInfo;	TPckg<TShPoolInfo>  shPoolInfoPckg(shPoolInfo);		aMessage.ReadL(1, shPoolInfoPckg); 	//	// Pass to the server to open the pool...	//	TInt  result = Server().OpenRShBufPool(poolHandle, shPoolInfo);	//	// Complete the request...	//	CompleteRequest(aMessage, result);	} // CShBufTestServerSession::OpenRShBufPoolL
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:30,


示例12: OstTraceFunctionEntry0

void CAcmWriter::WriteCompleted(TInt aError)/** * This function is called when a write on the LDD has completed. * This checks whether any data remains to be written, if so the * read and write requests are re-issued until there in no data * left or an error occurs. * * @param aError Error with which the write completed. */{    OstTraceFunctionEntry0( CACMWRITER_WRITECOMPLETED_ENTRY );    OstTrace1( TRACE_NORMAL, CACMWRITER_WRITECOMPLETED, "CAcmWriter::WriteCompleted;aError=%d", (TInt)aError );    if(iLengthToGo == 0 || aError != KErrNone)    {        OstTrace1( TRACE_NORMAL, CACMWRITER_WRITECOMPLETED_DUP1,                   "CAcmWriter::WriteCompleted;/tcompleting request with %d", aError );        CompleteRequest(aError);    }    else    {        //there is some data remaining to be read so reissue the Read & Write        //requests until there is no data left.        ReadDataFromClient();        IssueWrite();    }    OstTraceFunctionExit0( CACMWRITER_WRITECOMPLETED_EXIT );}
开发者ID:kuailexs,项目名称:symbiandump-os2,代码行数:27,


示例13: config

void CNetworkPsy2::CancelNotifyPositionUpdate()    {    if(iRequestStatus &&        iCurrentIndex>=0 && iCurrentIndex<iPsyConfigArray.Count())        {        TPsyConfig& config(iPsyConfigArray[iCurrentIndex]);        if(config.iData.iLRConfig.iNumOfResponse>1)            {            config.iData.iLRConfig.iNumOfResponse--;            }        else if(config.iData.iLRConfig.iNumOfResponse>0)            {            iCurrentIndex++;            if(iCurrentIndex>=iPsyConfigArray.Count())                {                //When all items are used, then clean the config items                iPsyConfigArray.Reset();                iCurrentIndex = 0;                }            }        else            {            //0 means forever response with this            }        iTimer->Cancel();        }    CompleteRequest(KErrCancel);    StartTimerIfNeeded();    }
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:30,


示例14: DispatchCreate

NTSTATUS DispatchCreate( PDEVICE_OBJECT fdo, PIRP Irp ){    PIO_STACK_LOCATION stack;    PDEVICE_EXTENSION  pdx;    UNICODE_STRING     interfaceName;     NTSTATUS           status;        pdx    = (PDEVICE_EXTENSION) fdo->DeviceExtension;    stack  = IoGetCurrentIrpStackLocation( Irp );    status = STATUS_SUCCESS;    RtlInitUnicodeString( &interfaceName, OperationInterfaceFile );        if(0 == RtlCompareUnicodeString( &interfaceName, &stack->FileObject->FileName, TRUE))    {            // we allow only exclusive access to the device         if(InterlockedIncrement(&pdx->handles) != 1)        {            InterlockedDecrement( &pdx->handles );                              status = STATUS_ACCESS_DENIED;                       KdPrint((DRIVERNAME " - ACCESS DENIED/n"));        }    }    return CompleteRequest( Irp, status, 0 );}
开发者ID:AustinWise,项目名称:Netduino-Micro-Framework,代码行数:28,


示例15: SwdmDispatchWrite

NTSTATUSSwdmDispatchWrite(    IN PDEVICE_OBJECT  DeviceObject,    IN PIRP  Irp    ){	PVOID Buf;		//Buffer provided by user program	ULONG BufLen;	//Buffer length for user provided buffer	LONGLONG Offset;//Buffer Offset	PVOID DataBuf;  //Buffer provided by Driver	ULONG DataLen;  //Buffer length for Driver Data Buffer	ULONG ByteTransferred;	PIO_STACK_LOCATION pStk;	PDEVICE_EXTENSION pCtx;	//NTSTATUS status;	DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MJ_WRITE : Begin/r/n");	//Get I/o Stack Location & Device Extension	pStk = IoGetCurrentIrpStackLocation(Irp);	pCtx = DeviceObject->DeviceExtension;	//Get User Input Buffer & Length 	BufLen = pStk->Parameters.Write.Length;	Offset = pStk->Parameters.Read.ByteOffset.QuadPart;	Buf = (PUCHAR)(Irp->AssociatedIrp.SystemBuffer) + Offset;	//Get Driver Data Buffer & Length	DataBuf = pCtx->DataBuffer;	DataLen = 1024;		IoAcquireRemoveLock(&pCtx->RemoveLock, Irp);	DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "Input Buffer Length : %d/r/n", BufLen);	DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "Driver Data Length : %d/r/n", DataLen);	if (BufLen <= DataLen) {		ByteTransferred = BufLen;		} else {		ByteTransferred = DataLen;	}	ByteTransferred = BufLen;	RtlZeroMemory(		pCtx->DataBuffer,		1024);	RtlCopyMemory(		DataBuf,		Buf, 		ByteTransferred);	IoReleaseRemoveLock(&pCtx->RemoveLock, Irp);	CompleteRequest(Irp, STATUS_SUCCESS, ByteTransferred);	DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MJ_WRITE : End/r/n");	return STATUS_SUCCESS;}
开发者ID:uri247,项目名称:pmgmt,代码行数:58,


示例16: CompleteRequest

void CSsmDeferrableCommand::RegisterCompletionObserverCancel()	{	if (iCompletionObserver)		{		// assume the request is still pending		CompleteRequest(*iCompletionObserver, KErrCancel);		iCompletionObserver = NULL;		}	}
开发者ID:cdaffara,项目名称:symbiandump-os1,代码行数:9,


示例17: GetDeviceInfo

/******************************************************************************* Procedure:  CDSPhone::processSetHook**** Arguments:  'pReq' - Request being handled**             'lpBuff' - Data buffer from emulator**** Returns:    bool**** Description:  This function processes the phoneSetHookswitch API.*******************************************************************************/bool CDSPhone::processSetHook(RTSetHookswitch* pReq, LPCVOID /*lpBuff*/){	if (pReq->EnterState(STATE_INITIAL, STATE_IGNORE))	{		GetDeviceInfo()->DRV_SetHookswitch(pReq->GetHookswitchDevice(), pReq->GetHookswitchState());		CompleteRequest(pReq, 0);	}	return false;}
开发者ID:junction,项目名称:jn-tapi,代码行数:20,


示例18: CompleteRequest

// -----------------------------------------------------------------------------// CTcpResponseSender::ErrorOccured// -----------------------------------------------------------------------------//	void CTcpResponseSender::ErrorOccured( TInt /*aError*/ )    {    iResolving = EFalse;	if ( iData )		{		CompleteRequest( iData->Status(), KErrCouldNotConnect );		}	iOwner->RemoveTcpSender( this );    }
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:13,


示例19: DispatchAny

NTSTATUS DispatchAny(IN PDEVICE_OBJECT fido, IN PIRP Irp){							// DispatchAny	PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido->DeviceExtension;	PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp);#if DBG	static char* irpname[] = 	{		"IRP_MJ_CREATE",		"IRP_MJ_CREATE_NAMED_PIPE",		"IRP_MJ_CLOSE",		"IRP_MJ_READ",		"IRP_MJ_WRITE",		"IRP_MJ_QUERY_INFORMATION",		"IRP_MJ_SET_INFORMATION",		"IRP_MJ_QUERY_EA",		"IRP_MJ_SET_EA",		"IRP_MJ_FLUSH_BUFFERS",		"IRP_MJ_QUERY_VOLUME_INFORMATION",		"IRP_MJ_SET_VOLUME_INFORMATION",		"IRP_MJ_DIRECTORY_CONTROL",		"IRP_MJ_FILE_SYSTEM_CONTROL",		"IRP_MJ_DEVICE_CONTROL",		"IRP_MJ_INTERNAL_DEVICE_CONTROL",		"IRP_MJ_SHUTDOWN",		"IRP_MJ_LOCK_CONTROL",		"IRP_MJ_CLEANUP",		"IRP_MJ_CREATE_MAILSLOT",		"IRP_MJ_QUERY_SECURITY",		"IRP_MJ_SET_SECURITY",		"IRP_MJ_POWER",		"IRP_MJ_SYSTEM_CONTROL",		"IRP_MJ_DEVICE_CHANGE",		"IRP_MJ_QUERY_QUOTA",		"IRP_MJ_SET_QUOTA",		"IRP_MJ_PNP",	};	UCHAR type = stack->MajorFunction;// 	if (type >= arraysize(irpname))// 		KdPrint((DRIVERNAME " - Unknown IRP, major type %X/n", type));// 	else// 		KdPrint((DRIVERNAME " - %s/n", irpname[type]));#endif		// Pass request down without additional processing	NTSTATUS status;	status = IoAcquireRemoveLock(&pdx->RemoveLock, Irp);	if (!NT_SUCCESS(status))		return CompleteRequest(Irp, status, 0);	IoSkipCurrentIrpStackLocation(Irp);	status = IoCallDriver(pdx->LowerDeviceObject, Irp);	IoReleaseRemoveLock(&pdx->RemoveLock, Irp);	return status;}							// DispatchAny
开发者ID:caidongyun,项目名称:libs,代码行数:55,


示例20: DispatchInternalControl

NTSTATUS DispatchInternalControl(PDEVICE_OBJECT fdo, PIRP Irp){    PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fdo->DeviceExtension;    NTSTATUS status = IoAcquireRemoveLock(&pdx->RemoveLock, Irp);    if(!NT_SUCCESS(status))        return CompleteRequest(Irp, status, 0);    IoSkipCurrentIrpStackLocation(Irp);    status = IoCallDriver(pdx->LowerDeviceObject, Irp);    IoReleaseRemoveLock(&pdx->RemoveLock, Irp);    return status;}
开发者ID:EddieGarmon,项目名称:netduino-netmf,代码行数:11,



注:本文中的CompleteRequest函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ Complex函数代码示例
C++ Complete函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。