Holas de nuevo
Introduje un tema, en el foro de APIs, pero mas me parece que pertenece a este grupo (y ya lo dije)
El problema basicamente, es que tengo una estructura de registro llamada .... definida en una unidad TAPI.pas, con ella consigo hacer todo, excepto la finalidad, obtener un numero, esta es la estructura:
Código:
LPLineCallInfo = ^TLineCallInfo;
TLineCallInfo = record
dwTotalSize,
dwNeededSize,
dwUsedSize: Longint;
hLine: THLine;
dwLineDeviceID,
dwAddressID,
dwBearerMode,
dwRate,
dwMediaMode,
dwAppSpecific,
dwCallID,
dwRelatedCallID,
dwCallParamFlags,
dwCallStates,
dwMonitorDigitModes,
dwMonitorMediaModes: Longint;
DialParams: TLineDialParams;
dwOrigin,
dwReason,
dwCompletionID,
dwNumOwners,
dwNumMonitors,
dwCountryCode,
dwTrunk,
dwCallerIDFlags,
dwCallerIDSize,
dwCallerIDOffset,
dwCallerIDNameSize,
dwCallerIDNameOffset,
dwCalledIDFlags,
dwCalledIDSize,
dwCalledIDOffset,
dwCalledIDNameSize,
dwCalledIDNameOffset,
dwConnectedIDFlags,
dwConnectedIDSize,
dwConnectedIDOffset,
dwConnectedIDNameSize,
dwConnectedIDNameOffset,
dwRedirectionIDFlags,
dwRedirectionIDSize,
dwRedirectionIDOffset,
dwRedirectionIDNameSize,
dwRedirectionIDNameOffset,
dwRedirectingIDFlags,
dwRedirectingIDSize,
dwRedirectingIDOffset,
dwRedirectingIDNameSize,
dwRedirectingIDNameOffset,
dwAppNameSize,
dwAppNameOffset,
dwDisplayableAddressSize,
dwDisplayableAddressOffset,
dwCalledPartySize,
dwCalledPartyOffset,
dwCommentSize,
dwCommentOffset,
dwDisplaySize,
dwDisplayOffset,
dwUserUserInfoSize,
dwUserUserInfoOffset,
dwHighLevelCompSize,
dwHighLevelCompOffset,
dwLowLevelCompSize,
dwLowLevelCompOffset,
dwChargingInfoSize,
dwChargingInfoOffset,
dwTerminalModesSize,
dwTerminalModesOffset,
dwDevSpecificSize,
dwDevSpecificOffset: Longint;
dwCallTreatment, { TAPI v2.0 }
dwCallDataSize, { TAPI v2.0 }
dwCallDataOffset, { TAPI v2.0 }
dwSendingFlowspecSize, { TAPI v2.0 }
dwSendingFlowspecOffset, { TAPI v2.0 }
dwReceivingFlowspecSize, { TAPI v2.0 }
dwReceivingFlowspecOffset: Longint; { TAPI v2.0 }
end;
La logro usar asi:
Código:
var
wLPCALLINFO: TLineCallInfo;
r: Integer;
r:=LineGetCallInfo(hCall, wLPCALLINFO);
Y como me devuelve el offset y el size en:
Código:
wNum:=wLPCALLINFO.dwCallerIDSize;
wNum:=wLPCALLINFO.dwCallerIDOffset;
trato de acceder a el valor del numero telefonico, que se supone debería de obtenerlo en una formula mas o menos asi:
Código:
www:=copy(StrPas(PChar(@wlpCallInfo)+wLPCALLINFO.dwCalledIDOffset),1,wLPCALLINFO.dwCalledIDSize);
Como veis el problema es acceder ese valor, no se como hacerlo. Este problema es basicamente manejo de punteros.
Aver si alguien me echa una mano. gracias.
Osw