Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aanwijzers zijn niet vereist om een expliciete kenmerkbeschrijving te hebben. Wanneer er geen expliciet kenmerk wordt opgegeven, gebruikt de MIDL Compiler een standaardaanwijzerkenmerk.
De standaardcases voor niet-toegewezen aanwijzers zijn het volgende:
- Aanwijzers op het hoogste niveau die worden weergegeven in parameterlijsten, zijn standaard [ref] aanwijzers.
- Alle andere aanwijzers worden standaard ingesteld op het type dat is opgegeven door het kenmerk [pointer_default]. Als er geen kenmerk [pointer_default] wordt opgegeven, worden deze aanwijzers standaard ingesteld op het kenmerk [unieke] wanneer de MIDL-compiler zich in Microsoft Extensions modus bevindt of het kenmerk [ptr] wanneer de MIDL-compiler zich in de DCE-compatibele modus bevindt.
Wanneer een externe procedure een aanwijzer retourneert, moet de retourwaarde een [unieke ] of volledige aanwijzer ([ ptr ]) zijn.
/* IDL file compiled without /osf */
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0),
pointer_default(ptr)
]
interface MyInterface
{
typedef long *PLONG;
struct MyCircularList {
struct MyCircularList *pRight;
struct MyCircularList *pLeft;
long Data;
};
void Foo1( [in] PLONG p ); // p is ref
void Foo2( [in] struct MyCircularList *p ); // p is ref, p->pRight and p->pLeft is ptr
struct MyCircularList *Foo3( void ); // returned pointer is ptr.
}
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea46),
version(1.0)
]
interface MyInterface2
{
struct MySingleList
{
struct MySingleList *pNext;
long Data;
};
void Foo4( [in] struct MySingleList *p ); // p is ref, p->pNext is unique
struct MySingleList *Foo5( void ); // returned pointer is unique.
}
Opmerkingen
Gebruik altijd expliciete pointerkenmerken bij het definiƫren van een aanwijzer om eenduidig gedrag van aanwijzers te garanderen.
Het wordt aanbevolen om [ptr ] alleen te gebruiken wanneer aanwijzeralias vereist is.