本文整理汇总了C++中QI函数的典型用法代码示例。如果您正苦于以下问题:C++ QI函数的具体用法?C++ QI怎么用?C++ QI使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了QI函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QI
STDMETHODIMP CSubPicProviderExWrapper::NonDelegatingQueryInterface( REFIID riid, void** ppv )
{
return
QI(ISubPicProvider)
QI(ISubPicProviderEx)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例2: GetInterfaces
bool CSystemObjectWrapper::GetInterfaces(ISystemUnknown *piUnknown)
{
m_piObject=QI(ISystemObject,piUnknown);
if(m_piObject){m_piSerializable=QI(ISystemSerializable,piUnknown);}
if(!m_piObject){ReleaseInterfaces();return false;}
return true;
}
示例3: PORT
// TODO: rename to L_DO for digital output
void FORTE_L_LED::executeEvent(int pa_nEIID){
unsigned int nPort = PORT() - 1; /** HW port # (not LMS port #) */
unsigned int nType = T();
QO() = QI();
switch (pa_nEIID){
case scm_nEventINITID:
if(true == QI()){
if(!FORTE_L_S_PORT::lmsIsLTsensor(nType))
QO() = false;
}
sendOutputEvent(scm_nEventINITOID);
break;
case scm_nEventREQID:
/* void CL_Sltled::lmsLtLedInit(cyg_int32 pa_unPortNum) */
if(true == QI()){
if(true == Q())
lmsLtLedOn(nPort);
else
lmsLtLedOff(nPort);
}
sendOutputEvent(scm_nEventCNFID);
break;
}
}
示例4: QO
void FORTE_Digital::executeEvent(int pa_nEIID){
QO() = QI();
STATUS() = 0;
switch (pa_nEIID){
case scm_nEventINITID:
if(true == QI()){
libcbc_init(); //TODO: only call once //initialises the CBC Library :)
if(PORT() >= 8 && PORT() <= 15){ //digital PORTS!!
m_nPort = PORT();
}
}
else{
QO() = false;
STATUS() = 1;
}
sendOutputEvent(scm_nEventINITOID);
break;
case scm_nEventREQID:
if(true == QI()){
STATUS() = digital(m_nPort);
}
sendOutputEvent(scm_nEventCNFID);
break;
}
}
示例5: CheckPointer
STDMETHODIMP CBaseSplitterFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
*ppv = nullptr;
if (m_pInput && riid == __uuidof(IFileSourceFilter)) {
return E_NOINTERFACE;
}
return
QI(IFileSourceFilter)
QI(IMediaSeeking)
QI(IAMOpenProgress)
QI2(IAMMediaContent)
QI2(IAMExtendedSeeking)
QI(IKeyFrameInfo)
QI(IBufferInfo)
QI(IPropertyBag)
QI(IPropertyBag2)
QI(IDSMPropertyBag)
QI(IDSMResourceBag)
QI(IDSMChapterBag)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例6: QI
STDMETHODIMP CSubPicExAllocatorImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
return
QI(ISubPicExAllocator)
QI(ISubPicAllocator)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例7: QO
void FORTE_TrkEclipse::executeEvent(int pa_nEIID){
QO() = QI();
switch (pa_nEIID){
case scm_nEventREQID:
if(true == QI()){
//TODO: test with and without type casts
track_update(); // get new image data
COUNT() = static_cast<TForteInt16>(track_count(CH()));
if(COUNT() > I_BLOB()){ // there is at least I_BLOBs on CH()
SIZE() = static_cast<TForteInt16>(track_size(CH(), I_BLOB())); //
FRAME() = static_cast<TForteInt16>(track_get_frame()); //
CONFIDENCE() = static_cast<TForteInt16>(track_confidence(CH(), I_BLOB()));
X() = static_cast<TForteInt16>(track_x(CH(), I_BLOB())); // get image data
Y() = static_cast<TForteInt16>(track_y(CH(), I_BLOB())); // and data
MAJOR() = static_cast<TForteInt16>(track_major_axis(CH(), I_BLOB())); // get image data
MINOR() = static_cast<TForteInt16>(track_minor_axis(CH(), I_BLOB())); // and data
if(true == INFO()){
if(COUNT() > I_BLOB()){ // there is a blob
printf("On Channel=%d Eclipse Blob#%d is at (X,Y,MAJOR,MINOR)=(%d,%d,%d,%d)\n", (int) CH(), (int) I_BLOB(), (int) X(), (int) Y(), (int) MAJOR(), (int) MINOR());
printf("\t Confidence=%d; Size=%d;Frame=%d\n", (int) CONFIDENCE(), (int) SIZE(), (int) FRAME());
}
else{
printf("No Blob#%i in sight on Color Channel %i\n", (int) I_BLOB(), (int) CH());
}
}
}
}
sendOutputEvent(scm_nEventCNFID);
break;
}
}
示例8: CheckPointer
STDMETHODIMP CAsyncFileReader::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
return
QI(IAsyncReader)
QI(ISyncReader)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例9: QI
STDMETHODIMP ISubPicAllocatorPresenterImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
//SVP_LogMsg5(L"ISubPic %s" , CStringFromGUID(riid));
return
QI(ISubPicAllocatorPresenter)
QI(ISubPicAllocatorPresenterRender)
QI(ISubPicAllocatorPresenter2)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例10: CheckPointer
STDMETHODIMP CSubtitleSource::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
return
QI(IFileSourceFilter)
QI(IAMFilterMiscFlags)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例11: CheckPointer
STDMETHODIMP CLAVOutputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
return
QI(IMediaSeeking)
QI(ILAVPinInfo)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例12: CheckPointer
STDMETHODIMP CVTSReader::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
return
QI(IFileSourceFilter)
QI(ITrackInfo)
QI(IDSMChapterBag)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例13: QI
STDMETHODIMP CSubPicAllocatorPresenterImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
return
QI(ISubPicAllocatorPresenter)
QI(ISubPicAllocatorPresenter2)
QI(ISubRenderOptions)
QI(ISubRenderConsumer)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例14: CheckPointer
STDMETHODIMP CBaseMuxerInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
return
QI(IBaseMuxerRelatedPin)
QI(IPropertyBag)
QI(IPropertyBag2)
QI(IDSMPropertyBag)
__super::NonDelegatingQueryInterface(riid, ppv);
}
示例15: CheckPointer
STDMETHODIMP CLAVSubtitleConsumer::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
CheckPointer(ppv, E_POINTER);
*ppv = nullptr;
return
QI(ISubRenderConsumer)
QI(ISubRenderConsumer2)
__super::NonDelegatingQueryInterface(riid, ppv);
}