Delen via


Veldkenmerken

Veldkenmerken zijn de kenmerken die kunnen worden toegepast op velden van een matrix, structuur, samenvoeging of tekenmatrix:

Veldkenmerken worden bijvoorbeeld gebruikt in combinatie met matrixdeclaraties om de grootte van de matrix of het gedeelte van de matrix met geldige gegevens op te geven. Dit wordt gedaan door een andere parameter, structuurveld of een constante expressie te koppelen aan de matrix.

De [negeren] kenmerk wijst aanwijzervelden aan die tijdens het marshalingproces moeten worden genegeerd. Een dergelijk genegeerd veld wordt ingesteld op NULL- aan de ontvangerzijde.

MIDL biedt conforme, verschillendeen open matrices. Een matrix wordt conformant genoemd als de grenzen ervan tijdens runtime worden bepaald. De [size_is] kenmerk wijst de bovengrens aan op de toewijzingsgrootte van de matrix en de [max_is] kenmerk wijst de bovengrens aan op de waarde van een geldige matrixindex. Zie [matrices]voor meer informatie.

Een matrix wordt wisselende aangeroepen als de grenzen tijdens het compileren worden bepaald, maar het bereik van verzonden elementen wordt tijdens runtime bepaald. Een open matrix (ook wel een conforme wisselende matrix genoemd) is een matrix waarvan de bovengrens en het bereik van verzonden elementen tijdens runtime worden bepaald. Als u het bereik van verzonden elementen van een matrix wilt bepalen, moet de matrixdeclaratie een [length_is], [first_is]of [last_is] kenmerk bevatten.

De [length_is] kenmerk wijst het aantal matrixelementen aan dat moet worden verzonden en de [first_is] kenmerk wijst de index van het eerste matrixelement aan dat moet worden verzonden. De [last_is] kenmerk wijst de index aan van het laatste matrixelement dat moet worden verzonden.

De [switch_is] veldkenmerk wijst een union-discriminator aan. Wanneer de samenvoeging een procedureparameter is, moet de union-discriminator een andere parameter van dezelfde procedure zijn. Wanneer de samenvoeging een veld van een structuur is, moet de discriminator een ander veld van de structuur zijn op hetzelfde niveau als het union-veld. De discriminatie moet een Booleaanse, teken, intof opsomming type zijn, of een type dat wordt omgezet in een van deze typen. Zie Niet-ingekapselde Unies en [switch_is]voor meer informatie.

De [tekenreeks] veldkenmerk wijst aan dat een eendimensionaal teken of bytematrix, of een aanwijzer naar een nul-beƫindigd teken of bytestroom, moet worden behandeld als een tekenreeks. Het tekenreekskenmerk is alleen van toepassing op eendimensionale matrices en aanwijzers. Het elementtype is beperkt tot teken, byte, wchar_tof een benoemd type dat wordt omgezet in een van deze typen.

Zie MIDL-matrices, MIDL-structurenen MIDL Unionsvoor meer informatie over de context waarin veldkenmerken worden weergegeven.