Re: To cast or not to cast?
- From: ilyatum@xxxxxxxxxxxxxxxxxxxx ("Ilya Tumanov [MS]")
- Date: Sat, 09 Apr 2005 23:32:48 GMT
You should not guess the length, you should know it. It might be fixed or
native code could return it somehow.
Most likely you're correct and FirstBIRSample.Length contains this size.
You should check out the documentation for the function you're calling to
make sure it's correct.
If value of a pointer is 0, it's null pointer. It means this pointer is not
valid and points to nothing.
Since no data is available, you could store it as DBNull.
Best regards,
Ilya
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
> From: "Jeremy" <jezonline@xxxxxxxxxxx>
> References: <umEpDi8OFHA.3880@xxxxxxxxxxxxxxxxxxxx>
<64$0lp9OFHA.1564@xxxxxxxxxxxxxxxxxxxxx>
<#t8wc#BPFHA.1268@xxxxxxxxxxxxxxxxxxxx>
<tz30okGPFHA.920@xxxxxxxxxxxxxxxxxxxxx>
> Subject: Re: To cast or not to cast?
> Date: Sat, 9 Apr 2005 22:32:29 +0100
> Lines: 159
> X-Priority: 3
> X-MSMail-Priority: Normal
> X-Newsreader: Microsoft Outlook Express 6.00.2800.1478
> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478
> Message-ID: <eTuV9uUPFHA.2568@xxxxxxxxxxxxxxxxxxxx>
> Newsgroups: microsoft.public.dotnet.framework.compactframework
> NNTP-Posting-Host: host-84-9-101-26.bulldogdsl.com 84.9.101.26
> Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP14.phx.gbl
> Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.compactframework:26653
> X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework
>
> Thanks a lot for that! Before going to the UInt16 problem, I better try to
> solve that IntPtr problem.
>
> Managed to use Marshal.Copy. Not sure how I should 'guess' the length of
the
> Byte array to copy to. When I type FirstBIRSample.BiometricData (which is
> the IntPtr) in the command window, it returns to me: 2372256 - is this the
> size?
> I 'assumed' the size would be 1040 (which is stored in
> FirstBIRSample.Length).
>
> Second Part: Seems like the FirstBIRSample.Signature (also a pointer) is
0,
> how should I store this?
>
> Thanks so much!
>
> ""Ilya Tumanov [MS]"" <ilyatum@xxxxxxxxxxxxxxxxxxxx> wrote in message
> news:tz30okGPFHA.920@xxxxxxxxxxxxxxxxxxxxxxxx
> > While storing UInt16 as Int is OK, it will take more space. The problem
> > you're having is caused by range check. You might consider using
> > unchecked() to disable it.
> >
> > System.Runtime.InteropServices.Marshal class allows you to copy data
from
> > the pointer to the array. Look into Copy() methods of that class.
> >
> > Best regards,
> >
> > Ilya
> >
> > This posting is provided "AS IS" with no warranties, and confers no
> rights.
> > --------------------
> > > From: "Jeremy" <jezonline@xxxxxxxxxxx>
> > > References: <umEpDi8OFHA.3880@xxxxxxxxxxxxxxxxxxxx>
> > <64$0lp9OFHA.1564@xxxxxxxxxxxxxxxxxxxxx>
> > > Subject: Re: To cast or not to cast?
> > > Date: Fri, 8 Apr 2005 10:44:39 +0100
> > > Lines: 91
> > > X-Priority: 3
> > > X-MSMail-Priority: Normal
> > > X-Newsreader: Microsoft Outlook Express 6.00.2800.1478
> > > X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478
> > > Message-ID: <#t8wc#BPFHA.1268@xxxxxxxxxxxxxxxxxxxx>
> > > Newsgroups: microsoft.public.dotnet.framework.compactframework
> > > NNTP-Posting-Host: host-84-9-101-26.bulldogdsl.com 84.9.101.26
> > > Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP14.phx.gbl
> > > Xref: TK2MSFTNGXA01.phx.gbl
> > microsoft.public.dotnet.framework.compactframework:26572
> > > X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework
> > >
> > > Thanks so much for the replies Alex and Ilya!
> > >
> > > I changed the types in sql. It wasn't happy with Uint16 mapped to
> smallint
> > > (sql says value is either too small or too large), so I just went for
an
> > > int.
> > >
> > > Not sure how to retrieve the data data an IntPtr is pointing to
though.
> > How
> > > can I get that data as a byte array?
> > >
> > > thanks so much again!
> > >
> > > ""Ilya Tumanov [MS]"" <ilyatum@xxxxxxxxxxxxxxxxxxxx> wrote in message
> > > news:64$0lp9OFHA.1564@xxxxxxxxxxxxxxxxxxxxxxxx
> > > >
> > >
> >
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/
> > > > frlrfsystemdatasqldbtypeclasstopic.asp
> > > >
> > > > UInt32: Int will do. Signed and Unsigned integers are actually the
> same;
> > > > just cast them to the right type.
> > > > UInt16: SmallInt, see warning above
> > > > Byte: TinyInt
> > > > BioAPI_*: look up underlying type definition and use it. Enums are
> Int32
> > > by
> > > > default.
> > > > IntPtr: it's Int32, so store it as Int.
> > > >
> > > > Note, however, it's probably pointless to store pointers in the data
> > base.
> > > > Pointer itself is not important, most likely you need to store
> whatever
> > > > it's pointing to.
> > > >
> > > > Best regards,
> > > >
> > > > Ilya
> > > >
> > > > This posting is provided "AS IS" with no warranties, and confers no
> > > rights.
> > > >
> > > > --------------------
> > > > > From: "Jeremy" <jezonline@xxxxxxxxxxx>
> > > > > Subject: To cast or not to cast?
> > > > > Date: Fri, 8 Apr 2005 00:21:17 +0100
> > > > > Lines: 25
> > > > > X-Priority: 3
> > > > > X-MSMail-Priority: Normal
> > > > > X-Newsreader: Microsoft Outlook Express 6.00.2800.1478
> > > > > X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478
> > > > > Message-ID: <umEpDi8OFHA.3880@xxxxxxxxxxxxxxxxxxxx>
> > > > > Newsgroups: microsoft.public.dotnet.framework.compactframework
> > > > > NNTP-Posting-Host: host-84-9-101-26.bulldogdsl.com 84.9.101.26
> > > > > Path:
> TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
> > > > > Xref: TK2MSFTNGXA01.phx.gbl
> > > > microsoft.public.dotnet.framework.compactframework:26546
> > > > > X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm trying to convert the following types into types that I can
> insert
> > > in
> > > > an
> > > > > SQL database (via a webservice). None of these however are
accepted
> by
> > > Sql
> > > > > (i.e., there is no OleDbType for them). I could only use integer
> type
> > > for
> > > > > UInt32, that's about it. I'm totally unsure about the other types.
> > What
> > > > I've
> > > > > tried doing so far is casting them prior to sending them to the
> > > > webservice.
> > > > > When inserting them I get errors though. Would anyone know/could
> point
> > > me
> > > > to
> > > > > types that I could use? Any help would be really appreciated, i'm
> > lost!
> > > > >
> > > > > Thanks so much!
> > > > >
> > > > >
> > > > > System.UInt32 Length;
> > > > > System.Byte HeaderVersion;
> > > > > BioAPI_BIR_DATA_TYPE Type;
> > > > > System.UInt16 FormatOwner;
> > > > > System.UInt16 FormatID;
> > > > > System.Byte Quality; /*INT8 BioAPI_QUALITY*/
> > > > > BioAPI_BIR_PURPOSE Purpose;
> > > > > BioAPI_BIR_AUTH_FACTORS FactorsMask;
> > > > > System.IntPtr BiometricData;
> > > > > System.IntPtr Signature;
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> >
>
>
>
.
- Follow-Ups:
- Re: To cast or not to cast?
- From: Jeremy
- Re: To cast or not to cast?
- References:
- To cast or not to cast?
- From: Jeremy
- RE: To cast or not to cast?
- From: "Ilya Tumanov [MS]"
- Re: To cast or not to cast?
- From: Jeremy
- Re: To cast or not to cast?
- From: "Ilya Tumanov [MS]"
- Re: To cast or not to cast?
- From: Jeremy
- To cast or not to cast?
- Prev by Date: Re: Crash in unsafe block
- Next by Date: Re: To cast or not to cast?
- Previous by thread: Re: To cast or not to cast?
- Next by thread: Re: To cast or not to cast?
- Index(es):
Relevant Pages
|
Loading