ILockBytes Windows Mobile 6.5

ILockBytes

Windows Mobile 6.5

https://msdn.microsoft.com/zh-cn/library/aa911496(en-us,MSDN.10).aspx

这个接口是一个字节数组对象上实现由一些物理存储,如磁盘文件,全局内存或数据库。

它使用一个组件对象模型(COM)复合文件存储对象给其根存储访问物理设备,而隔离根存储访问物理存储的细节。

什么时候实现

大多数应用程序不会实现 ILockBytes 因为COM接口提供了实现最常见的一种情况:

基于文件的实现 如果你所说的 StgCreateDocfile函数创建一个复合文件存储对象,它包含的一个实现ILockBytes 这是关联到一个字节数组存储在一个物理磁盘文件。

复合文件存储对象调用 ILockBytes 方法。 你不叫他们直接在这个实现。

有些情况下,这将是有用的为应用程序提供它自己的 ILockBytes 实现。

例如,一个数据库应用程序可以实现 ILockBytes 创建一个字节数组对象支持的存储的关系表。 然而,强烈建议您使用COM-provided实现。

讨论了使用COM实现的优点,而不是创建自己的看到 StgCreateDocfileOnILockBytes函数,它创建了一个复合文件存储对象的调用者提供的字节数组对象。

什么时候使用

的 ILockBytes COM的实现方法 IStorage和 IStream复合文件对象的接口。

除非你正在实施 IStorage 和 IStream ,你不需要打电话 ILockBytes 直接的方法。

如果你写你自己的 ILockBytes 实现,您可以使用 StgCreateDocfileOnILockBytes函数创建一个复合文件存储对象支持的实现 ILockBytes 

方法

下面的表显示了这个接口的方法按字母顺序排列的。

方法 描述

冲洗


确保维护的任何内部缓冲区字节数组对象写入到存储支持。


LockRegion


限制访问指定范围的字节数组。


ReadAt


读取指定的字节数在指定偏移位置开始从一开始的数组。


SetSize


字节数组的大小变化。


统计


检索 STATSTG 这个字节数组对象结构。


UnlockRegion


删除之前限制的访问限制在一个范围的字节 ILockBytes:LocRegion 


WriteAt


写入指定数量的字节数组中指定的位置。

讲话

确定平台是否支持这个接口,明白了 Determining Supported COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

This interface is implemented on a byte array object that is backed by some physical storage, such as a disk file, global memory, or a database.

It is used by a Component Object Model (COM) compound file storage object to give its root storage access to the physical device, while isolating the root storage from the details of accessing the physical storage.

When to Implement

Most applications will not implement the ILockBytes interface because COM provides implementations for one of the most common situations:

File-based implementation If you call the StgCreateDocfile function to create a compound file storage object, it contains an implementation of ILockBytes that is associated with a byte array stored in a physical disk file.

The compound file storage object calls the ILockBytes methods. You do not call them directly in this implementation.

There are situations in which it would be useful for an application to provide its own ILockBytes implementation.

For example, a database application could implement ILockBytes to create a byte array object backed by the storage of its relational tables. However, it is strongly recommended that you use the COM-provided implementations.

For a discussion of the advantages of using the COM implementations rather than creating your own, see the StgCreateDocfileOnILockBytes function, which creates a compound file storage object on top of a caller-provided byte array object.

When to Use

The ILockBytes methods are called by the COM implementations of the IStorage and IStream interfaces on the compound file object.

Unless you are implementing IStorage and IStream, you would not need to call ILockBytes methods directly.

If you write your own ILockBytes implementation, you can use the StgCreateDocfileOnILockBytes function to create a compound file storage object backed by your implementation of ILockBytes.

Methods

The following table shows the methods for this interface in alphabetical order.

Method Description

Flush


Ensures that any internal buffers maintained by the byte array object are written out to the backing storage.


LockRegion


Restricts access to a specified range of bytes in the array.


ReadAt


Reads a specified number of bytes starting at a specified offset from the beginning of the array.


SetSize


Changes the size of the byte array.


Stat


Retrieves a STATSTG structure for this byte array object.


UnlockRegion


Removes the access restriction on a range of bytes previously restricted with ILockBytes::LocRegion.


WriteAt


Writes a specified number of bytes to a specified location in the array.

Remarks

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later
时间: 2024-10-07 23:35:41

ILockBytes Windows Mobile 6.5的相关文章

在Windows 2008上安装Windows Mobile设备中心

我在windows2008系统上安装Microsoft Windows Mobile Device Center v6.1时,老是弹出对话框提示缺少一个Windows Mobile设备中心所需要的Windows组件.请帮忙解决这个问题. 因为你的Windows 2008系统没有开启桌面体验功能,所以会发生这个问题.开启桌面体验功能的方法如下:一.单击“开始”菜单→“运行”命令,输入“services.msc”并回车打开“服务”对话框,找到“Themes”服务项,双击打开它,将“启动类型”改为“自

缺少一个Windows Mobile设备中心所需要的Windows组件 Activesync4.5安装问题

我在windows server 2008系统上安装 ActiveSync win7下载v6.1 中文安装版(64位)时, 会弹出对话框提示缺少一个Windows Mobile设备中心所需要的Windows组件的问题. 因为你的Windows server  2008系统没有开启桌面体验功能,所以会发生这个问题. 开启桌面体验功能的方法如下: 一.单击"开始"菜单→"运行"命令,输入"services.msc"并回车打开"服务"

Windows Mobile

此页面为WP8"Windows Mobile"应用的发布页面. "Windows Mobile"是一款收集Windows Mobile的玩机技巧的WP8程序,更好的帮助Windows Mobile用户理解并使用它. 此页面主要记录开发进度.APP发布等情况. -------------------相关进度--------------------- 目前进度:UI相关资源前期准备中,各相关开放平台的AppID申请中... Windows Mobile,布布扣,bubu

Windows Mobile 6.0 SDK和中文模拟器下载

[转] Windows Mobile 6.0 SDK和中文模拟器下载 Windows Mobile 6.5 模拟器 2010年12月06日 星期一 07:48 转载自 zhangyanle86 终于编辑 zhangyanle86 Windows Mobile 6.0 SDK和中文模拟器下载 SDK 6.0下载页面:http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390

VS2008下 使用C#做windows mobile 6.0开发 使用sqlite数据库

我使用的VS2008英文版的,不喜欢用中文版的. 现在用C#做相关开发,用到sqlite数据库. 网上找了很多,真正的教程特别少,都是贴的一堆垃圾代码.要么是无法配置通过的,错误一大堆,哎. 最后还是自己想办法解决了. 1.下载sqlite的运行库,首先网上的教程是让我们去http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki下载,但是页面上那么多,我们该选择哪个呢?   网页翻到最下面的  Legacy Ver

解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)

最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长,编译速度巨慢,最慢达到5分钟之久,实在无法忍受. 决定找出VS2008生成时,做了什么花费时间的工作.从工具à选项进入“选项”对话框 选择“MSBuild项目生成输出详细信息”为“诊断”这样编译时,会输出具体执行了那些任务,花费了多少时间. 结果发现最花费时间的是 Platform Verific

VS连接Windows Mobile模拟器

原文:http://www.cnblogs.com/xjimmyshcn/archive/2011/07/19/2111087.html 一.WinCE 模拟器通过ActiveSync 6.1(即Windows Mobile设备中心)连接PC 1.启动WinCE模拟器 命令行:  start .\DeviceEmulator.exe WINCE镜像\Wince5.bin /memsize 256 /video 480x272x16 /sharedfolder .\模拟卡 2.设置ActiveSy

Windows Mobile设备操作演示准备工作小记

公司最近为PDA开发了一款作业程序,我在工作中常常需要将操作过程通过电脑上设影出来为客户讲解使用方法.本文记录了相关的准备工作. 1. 微软嵌入式操作系统体系 RTOS: Embedded Real Time Operating Systems Windows Embedded Compact Windows Mobile Windows Phone 2.PDA型号 我司典型的PDA型号为Intermac CK71.其使用了Microsoft Windows Embedded Handheld

转载扩展Windows Mobile模拟器存储空间的方法

扩展Windows Mobile模拟器存储空间的方法 在Windows Mobile应用程序开发的初期,可以使用SDK自带的模拟器来进行调试,这给我们开发人员提供了一种方便的途径.一般的应用程序,占用空间的大小也就几百K,或者几M,这在模拟器上调试起来一点问题也没有.但是有的时候,我们要安装的程序或者需要Debug的程序超过了一定的大小以后,如果按照默认的系统设置,就无法进行调试了.为什么?就是因为我们打包了比较多的dll和资源库,使得系统的存储空间耗尽.通过这篇文章,你就可以了解如何摆脱模拟器