Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
När datastrukturer med variabilitetsstorlek används för att överföra information mellan TAPI och programmet ansvarar programmet för att allokera nödvändigt minne. Mängden allokerat minne måste vara minst tillräckligt stort för den fasta delen av datastrukturen och anges av programmet i dwTotalSize medlem i datastrukturen. dwUsedSize och dwNeededSize medlemmar fylls i av TAPI. Om dwTotalSize- är mindre än storleken på den fasta delen returneras LINEERR/PHONEERR_STRUCTURETOOSMALL. Om en funktion returnerar framgång har alla fält i den fasta delen fyllts i. dwUsedSize och dwNeededSize medlemmar kan jämföras för att avgöra om alla variabeldelar har fyllts i och hur mycket utrymme som krävs för att fylla dem alla i.
Om dwNeededSize är lika med dwUsedSizehar alla fasta och variabla delar fyllts i. Om dwNeededSize- är större än dwUsedSizekan vissa variabeldelar ha fyllts i, men exakt vilka fält av variabilitetsstorlek som har fyllts i är odefinierat. Ingen variabeldel trunkeras någonsin, och variabeldelar som skulle ha trunkerats på grund av otillräckligt utrymme indikeras genom att båda deras motsvarande "Offset" och "Size"-delar är inställda på noll. Om dessa inte båda är noll (och inget fel returnerades) anger de förskjutningen och storleken på giltiga, icke-störande variabeldelsdata.
Ett program kan alltid garantera att alla variabeldelar fylls i genom att allokera och ange dwNeededSize byte för strukturen och anropa funktionen "Get" igen tills funktionen returnerar framgång och dwNeedededSize är lika med dwUsedSize. Detta bör inträffa vid det andra försöket förutom för tävlingsförhållanden som orsakar ändringar i storleken på variabeldelar mellan anrop, vilket bör vara en sällsynt förekomst.
Not
Alla textsträngar, oavsett kodning, i olika storleksstrukturer bör NULL-avslutas enligt normala C-stränghanteringskonventioner.