//------------------------------------------------------------------------------ void* CvDllPlayerOptionInfo::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvPlayerOptionInfo1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllMissionData::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvMissionData1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllDiplomacyAI::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvDiplomacyAI1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllRandom::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvRandom1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllNetLoadGameInfo::QueryInterface(GUID guidInterface) { if( guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvNetLoadGameInfo1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllDatabaseUtility::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvDLLDatabaseUtility1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllUnitCombatClassInfo::QueryInterface(GUID guidInterface) { if(guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvUnitCombatClassInfo1::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//------------------------------------------------------------------------------ void* CvDllDlcPackageInfoList::QueryInterface(GUID guidInterface) { if( guidInterface == ICvUnknown::GetInterfaceId() || guidInterface == ICvEnumerator::GetInterfaceId()) { IncrementReference(); return this; } return NULL; }
//---------------------------------------------------------------------------------------------- // Power //---------------------------------------------------------------------------------------------- NTSTATUS Power( IN PDEVICE_OBJECT DeviceObject ,IN PIRP Irp ) { // 変数宣言 NTSTATUS Status; PDEVICE_EXTENSION DeviceExtension = GET_MINIDRIVER_DEVICE_EXTENSION( DeviceObject ); PIO_STACK_LOCATION CurrentIrpStack; // 参照カウンタを加算する Status = IncrementReference( DeviceExtension ); if( !NT_SUCCESS( Status ) ) { CompleteRequest( Irp, Status, 0 ); return( Status ); } // マイナー ファンクションによって処理を振り分ける CurrentIrpStack = IoGetCurrentIrpStackLocation( Irp ); switch( CurrentIrpStack->MinorFunction ) { case IRP_MN_SET_POWER: Status = SetPower( DeviceObject, DeviceExtension, Irp, CurrentIrpStack ); break; default: // IRP_MJ_POWER 要求を下位ドライバに送る Status = SendPowerRequest( DeviceObject, Irp ); break; } // 参照カウンタを減算する DecrementReference( DeviceExtension ); return( Status ); }
bool MODULE::IncrementItemReference() { // Take the next available module number return IncrementReference( true ); }