Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ändert die Größe des reservierten Speichers für das Speicherblockhandle hand.
unsigned short _SetHandSize(MHANDLE hand, unsigned long size)
MHANDLE hand; /* Memory block handle. */
unsigned int size; /* New number of bytes. */
Hinweise
_SetHandSize( ) gibt Wahr (.T.) (eine ganze Zahl ungleich 0) zurück, wenn die Neuzuordnung vorgenommen werden konnte, und im Fehlerfall Falsch (.F.) (0). Die dem MHANDLE-Speicherblockhandle zugeordneten Daten bleiben dabei erhalten. Sofern es sich bei hand um ein gesperrtes MHANDLE-Speicherblockhandle handelt, gibt _SetHandSize( ) einen Fehler zurück.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Im folgenden Beispiel wird _SetHandSize( ) verwendet, um die Größe des Speichers zu ändern, die für ein Speicherblockhandle MHANDLE reserviert wurde.
Visual FoxPro-Code
SET LIBRARY TO SETHANDS
= HANDTOPTR("Hello, world.") && displays "Hello, world" on screen
C-Code
#include <pro_ext.h>
void NullTerminate(Value FAR *cVal)
{
if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
{
_Error(182); // "Insufficient memory"
}
((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}
FAR Example(ParamBlk FAR *parm)
{
NullTerminate(&parm->p[0].val);
_HLock(parm->p[0].val.ev_handle);
_PutStr(_HandToPtr(parm->p[0].val.ev_handle));
_HUnLock(parm->p[0].val.ev_handle);
}
FoxInfo myFoxInfo[] = {
{"HANDTOPTR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_AllocHand( ), API-Bibliotheksroutine | _FreeHand( ), API-Bibliotheksroutine | _GetHandSize( ), API-Bibliotheksroutine | _HandToPtr( ), API-Bibliotheksroutine | _HLock( ), API-Bibliotheksroutine | _HUnlock( ), API-Bibliotheksroutine | _MemAvail( ), API-Bibliotheksroutine