class RShPool : public RHandleBase |
A handle to a pool of buffers.
Pools can be created by either user-side or kernel-side components.
Upon receiving a pool handle the recipient must map either whole or part of the pool memory into its address space.
When finished with the pool, the recipient must Close() it: this invalidates the handle. Any further attempt to use it will panic the thread.
All pools are reference-counted and will only disappear after all users have closed them.
These handles are process-relative.
Public Member Functions | |
---|---|
RShPool() | |
IMPORT_C void | CancelFreeSpaceNotification(TRequestStatus &) |
IMPORT_C void | CancelLowSpaceNotification(TRequestStatus &) |
IMPORT_C TInt | Create(const TShPoolCreateInfo &, TUint) |
IMPORT_C TUint | FreeCount() |
IMPORT_C void | GetInfo(TShPoolInfo &) |
IMPORT_C void | RequestFreeSpaceNotification(TUint, TRequestStatus &) |
IMPORT_C void | RequestLowSpaceNotification(TUint, TRequestStatus &) |
IMPORT_C TInt | SetBufferWindow(TInt, TBool) |
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
IMPORT_C void | CancelFreeSpaceNotification | ( | TRequestStatus & | aStatus | ) |
Cancels a free space notification request.
The status request completes with KErrCancel.
TRequestStatus & aStatus | The status request whose notification is to be cancelled. |
IMPORT_C void | CancelLowSpaceNotification | ( | TRequestStatus & | aStatus | ) |
Cancels a low space notification request.
The status request completes with KErrCancel.
TRequestStatus & aStatus | The status request whose notification is to be cancelled. |
IMPORT_C TInt | Create | ( | const TShPoolCreateInfo & | aBufInfo, |
TUint | aFlags | |||
) |
Creates a pool of buffers with the required attributes and maps the memory to this process. The RShPool object is changed by this call (iHandle is set).
const TShPoolCreateInfo & aBufInfo | A structure describing the parameters of the pool to be created. See TShPoolCreateInfo. |
TUint aFlags | Flags to modify the behaviour of the handle. This should be a bit-wise OR of values from TShPoolHandleFlags. |
IMPORT_C void | GetInfo | ( | TShPoolInfo & | aInfo | ) | const |
Retrieves information about the pool.
TShPoolInfo & aInfo | returns pool info. |
IMPORT_C void | RequestFreeSpaceNotification | ( | TUint | aFreeBuffers, |
TRequestStatus & | aStatus | |||
) |
Requests a notification when the number of free buffers in the pool rises to the level specified.
TUint aFreeBuffers | Specifies the number of free buffers that will trigger completion of the notification. |
TRequestStatus & aStatus | Status request to be completed when the condition is met. |
IMPORT_C void | RequestLowSpaceNotification | ( | TUint | aFreeBuffers, |
TRequestStatus & | aStatus | |||
) |
Requests a notification when the number of free buffers in the pool falls to the level specified.
TUint aFreeBuffers | Specifies the number of free buffers that will trigger completion of the notification. |
TRequestStatus & aStatus | Status request to be completed when the condition is met. |
IMPORT_C TInt | SetBufferWindow | ( | TInt | aCount, |
TBool | aAutoMap | |||
) |
Specifies how many buffers of a page-aligned pool this process will require concurrent access to.
This determines how much of the process's address space will be allocated for buffers of this pool.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.