Atributos de puntero aplicados al parámetro
Cada atributo de puntero ([ ref], [ único], y [ ptr]) tiene características que afectan a la asignación de memoria. En la tabla siguiente se resumen estas características.
Atributo de puntero | Cliente | Servidor |
---|---|---|
Referencia ([ref]) | La aplicación cliente debe asignar. | Control especial necesario para [out]punteros que no son de nivel superior. |
Único ([único]) | Si es un parámetro, la aplicación cliente debe asignar; si está incrustado, puede ser null. Cambiar de null a no NULL hace que el código auxiliar del cliente asigne; cambiar de no null a NULL puede provocar huérfanos. |
|
Full ([ptr]) | Si es un parámetro, la aplicación cliente debe asignar; si está incrustado, puede ser null. Cambiar de null a no NULL hace que el código auxiliar del cliente asigne; cambiar de no null a NULL puede provocar huérfanos. |
El atributo [ref] indica que el puntero apunta a memoria válida. Por definición, la aplicación cliente debe asignar toda la memoria que requieren los punteros de referencia.
El puntero único puede cambiar de null a no NULL. Si el puntero único cambia de null a no NULL, se asigna nueva memoria en el cliente. Si el puntero único cambia de distinto de NULL a NULL, el huérfano puede dar lugar. Para obtener más información, vea de huérfanos de memoria.