server-re/decomp/DBCServer_Release_x64/full/functions/0x140001700.c

40 lines
1.2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x140001700 FUN_140001700
* Pseudocode, not original source. */
void FUN_140001700(longlong *param_1,IID *param_2,void **param_3)
{
IUnknown *pIVar1;
HRESULT HVar2;
ULONG UVar3;
undefined8 uVar4;
undefined1 local_res8 [8];
pIVar1 = (IUnknown *)*param_1;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
HVar2 = (*pIVar1->lpVtbl[3].QueryInterface)(pIVar1,param_2,param_3);
if (HVar2 < 0) {
_com_issue_errorex(HVar2,pIVar1,(_GUID *)&DAT_14029dff0);
}
uVar4 = FUN_140001000(local_res8,param_3);
if (*param_1 == 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
FUN_140001410(*param_1,uVar4);
pIVar1 = (IUnknown *)*param_1;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar3 = (*pIVar1->lpVtbl[6].Release)(pIVar1);
if ((int)UVar3 < 0) {
_com_issue_errorex(UVar3,pIVar1,(_GUID *)&DAT_14029dff0);
}
return;
}