Re: To cast or not to cast?
- From: "Jeremy" <jezonline@xxxxxxxxxxx>
- Date: Sun, 10 Apr 2005 01:46:03 +0100
Okay, so I used the 1040 length, it doesn't seem to complain, which is good
news I guess. To make sure it stores the data correctly I'm trying to
retrieve it and feed it back to the biometric template matching method.
Because it takes IntPtr's for BiometricData and Signature, I tried creating
new pointers and marshal copy the content that I retrieved earlier into
these pointers. I failed. I tried the following:
System.IntPtr BiometricDataPtr;//create new pointer
BiometricData = (byte[])bioData[8];//BiometricData is an array of type byte
Marshal.Copy(BiometricData, 0, BiometricDataPtr, 1040);//copy content of
BiometricData in an IntPtr
"Use of unassigned local variable 'BiometricDataPtr'."
Obvsiously it's unused, it's meant to point to something... what am I
missing here?
""Ilya Tumanov [MS]"" <ilyatum@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:SN73xxVPFHA.920@xxxxxxxxxxxxxxxxxxxxxxxx
> 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: "Ilya Tumanov [MS]"
- 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
- Re: To cast or not to cast?
- From: "Ilya Tumanov [MS]"
- To cast or not to cast?
- Prev by Date: Re: To cast or not to cast?
- Next by Date: Re: launching word document in pocket pc application
- Previous by thread: Re: To cast or not to cast?
- Next by thread: Re: To cast or not to cast?
- Index(es):
Relevant Pages
|