精华内容
下载资源
问答
  • 调用Windows 底层API的BITS服务,实现智能升级
  • Windows Mobile GPRS底层API

    2011-12-20 21:41:49
    API函数】:  a)ConnMgrApiReadyEvent()函数  函数原型:HANDLE WINAPI ConnMgrApiReadyEvent();  利用此函数来我们可以返回一个连接事件的句柄  ,注意在的得到句柄后要记得及时释放  b)...
    
    

    【API函数】:

      a)ConnMgrApiReadyEvent()函数

      函数原型:HANDLE WINAPI ConnMgrApiReadyEvent();

      利用此函数来我们可以返回一个连接事件的句柄

      ,注意在的得到句柄后要记得及时释放

      b)ConnMgrConnectionStatus()函数

      函数原型:

      HRESULT WINAPI ConnMgrConnectionStatus(HANDLE hConnection,DWORD * pdwStatus );利用此函数的返回值pdwStatus,我们可以得到很多的关于连接的信息,例如如果我们连接成功将返回CONNMGR_STATUS_CONNECTED,断开连接将返回CONNMGR_STATUS_DISCONNECTED,他的返回状态信息非常丰富,有14中之多,完全可以满足我们的应用需要;

      c)ConnMgrEnumDestinations()函数

      函数原型:

      HRESULT WINAPI ConnMgrEnumDestinations(int nIndex,CONNMGR_DESTINATION_INFO * pDestInfo );

      一般我们的PDA在连接GPRS时都有好几个连接,利用此函数我们可以枚举出所有可用的连接,然后再对挑选的连接进行筛选得到一个最佳连接

      接下来讲两个很重要的函数,我们将利用两个函数中的一个来发起连接,他们是:

      d)ConnMgrEstablishConnection()和ConnMgrEstablishConnectionSync()函数,这两个函数一个用于发起一个异步连接请求,一个用于同步请求,使用异步连接请求我们可以在发起连接后立即返回,而使用同步请求客户端将一直被阻塞知道函数返回确认连接,关于异步和同步我就不再叙述;

      它们的原型依次为:

      HRESULT WINAPI ConnMgrEstablishConnection( CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection );

      HRESULT WINAPI ConnMgrEstablishConnectionSync(

      CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection,

      DWORD dwTimeout, DWORD * pdwStatus );

      可以看到两个函数的第一个参数都为一个CONNMGR_CONNECTIONINFO对象,此对象为一个结构体,它保存了客户端发起连接请求的一系列信息,因此,在我们调用此函数时必须构造一个该对象,然后将其作为参数传入连接函数中。这里很有必要讲一下该结构体,该结构体的原型如下:

      typedef struct _CONNMGR_CONNECTIONINFO

      {

      DWORD cbSize;

      DWORD dwParams;DWORD dwFlags;

      DWORD dwPriority;BOOL bExclusive;BOOL bDisabled;GUID guidDestNet;HWND hWnd;

      UINT uMsg;

      LPARAM lParam;ULONG ulMaxCost;

      ULONG ulMinRcvBw;

      ULONG ulMaxConnLatency;

      } CONNMGR_CONNECTIONINFO;

      其中参数dwFlags用于指定我们的接入点,比如我们常说的CMNER和CMWAP,而参数GUID则标志了我们对应于每个接入点的全球唯一标志符,关于如何得到或者查看GUID,我们可以在“Program FilesWindows CE Toolswce420POCKET PC 2003IncludeArmv4”目录下查看connmgr.h文件,里面包含了各个接入点的GUID,例如:

      CMNET 为:(0x436ef144, 0xb4fb, 0x4863, 0xa0, 0x41, 0x8f, 0x90, 0x5a, 0x62, 0xc5, 0x72)

      CMWAP为:0x7022e968, 0x5a97, 0x4051, 0xbc, 0x1c, 0xc5, 0x78, 0xe2, 0xfb, 0xa5, 0xd9

      如果想更进一步了解,我们还可以通过查看注册表方式来查看PDA上连接管理器的相关连接信息,在PPC 2003中注册表路径为:

      [HKEY_LOCAL_MACHINECommConnMgr],如下图所示:(图显示不出来。。。)

      首先我们利用ConnMgrApiReadyEvent()函数来确认是否有可用连接,如果有可用连接我们则利用ConnMgrEnumDestinatio ns()函数枚举所有可用连接,然后遍历所有连接调用我们的同步或异步连接方法ConnMgrEstablishConnectio nsync()与ConnMgrEstablishConnection()来发起连接,一旦连接成功后我们就可以进行我们伟大的下一步了,就是和我们的服务器进行通信。


    http://dev.10086.cn/cmdn/wiki/index.php?doc-view-4561.html

    展开全文
  • Windows Mobile GPRS底层API

    2011-04-21 10:16:00
    API函数】: a)ConnMgrApiReadyEvent()函数 函数原型:HANDLE WINAPI ConnMgrApiReadyEvent(); 利用此函数来我们可以返回一个连接事件的句柄 ,注意在的得到句柄后要记得及时释放 b)ConnMgrConnectionStatus...

    【API函数】:

      a)ConnMgrApiReadyEvent()函数

      函数原型:HANDLE WINAPI ConnMgrApiReadyEvent();

      利用此函数来我们可以返回一个连接事件的句柄

      ,注意在的得到句柄后要记得及时释放

      b)ConnMgrConnectionStatus()函数

      函数原型:

       HRESULT WINAPI ConnMgrConnectionStatus(HANDLE hConnection,DWORD * pdwStatus );利用此函数的返回值pdwStatus,我们可以得到很多的关于连接的信息,例如如果我们连接成功将返回 CONNMGR_STATUS_CONNECTED,断开连接将返回CONNMGR_STATUS_DISCONNECTED,他的返回状态信息非常丰 富,有14中之多,完全可以满足我们的应用需要;

      c)ConnMgrEnumDestinations()函数

      函数原型:

      HRESULT WINAPI ConnMgrEnumDestinations(int nIndex,CONNMGR_DESTINATION_INFO * pDestInfo );

      一般我们的PDA在连接GPRS 时都有好几个连接,利用此函数我们可以枚举出所有可用的连接,然后再对挑选的连接进行筛选得到一个最佳连接

      接下来讲两个很重要的函数,我们将利用两个函数中的一个来发起连接,他们是:

       d)ConnMgrEstablishConnection()和ConnMgrEstablishConnectionSync()函数,这两个函数 一个用于发起一个异步连接请求,一个用于同步请求,使用异步连接请求我们可以在发起连接后立即返回,而使用同步请求客户端将一直被阻塞知道函数返回确认连 接,关于异步和同步我就不再叙述;

      它们的原型依次为:

      HRESULT WINAPI ConnMgrEstablishConnection( CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection );

      HRESULT WINAPI ConnMgrEstablishConnectionSync(

      CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection,

      DWORD dwTimeout, DWORD * pdwStatus );

       可以看到两个函数的第一个参数都为一个CONNMGR_CONNECTIONINFO对象,此对象为一个结构体,它保存了客户端发起连接请求的一系列信 息,因此,在我们调用此函数时必须构造一个该对象,然后将其作为参数传入连接函数中。这里很有必要讲一下该结构体,该结构体的原型如下:

      typedef struct _CONNMGR_CONNECTIONINFO

      {

      DWORD cbSize;

      DWORD dwParams;DWORD dwFlags;

      DWORD dwPriority;BOOL bExclusive;BOOL bDisabled;GUID guidDestNet;HWND hWnd;

      UINT uMsg;

      LPARAM lParam;ULONG ulMaxCost;

      ULONG ulMinRcvBw;

      ULONG ulMaxConnLatency;

      } CONNMGR_CONNECTIONINFO;

       其中参数dwFlags用于指定我们的接入点,比如我们常说的CMNER和CMWAP,而参数GUID则标志了我们对应于每个接入点的全球唯一标志符, 关于如何得到或者查看GUID,我们可以在“Program FilesWindows CE Toolswce420POCKET PC 2003IncludeArmv4”目录下查看connmgr.h文件,里面包含了各个接入点的GUID,例如:

      CMNET 为:(0x436ef144, 0xb4fb, 0x4863, 0xa0, 0x41, 0x8f, 0x90, 0x5a, 0x62, 0xc5, 0x72)

      CMWAP为:0x7022e968, 0x5a97, 0x4051, 0xbc, 0x1c, 0xc5, 0x78, 0xe2, 0xfb, 0xa5, 0xd9

      如果想更进一步了解,我们还可以通过查看注册表方式来查看PDA上连接管理器的相关连接信息,在PPC 2003中注册表路径为:

      [HKEY_LOCAL_MACHINECommConnMgr],如下图所示:(图显示不出来。。。)

       首先我们利用ConnMgrApiReadyEvent()函数来确认是否有可用连接,如果有可用连接我们则利用 ConnMgrEnumDestinatio ns()函数枚举所有可用连接,然后遍历所有连接调用我们的同步或异步连接方法ConnMgrEstablishConnectio nsync()与ConnMgrEstablishConnection()来发起连接,一旦连接成功后我们就可以进行我们伟大的下一步了,就是和我们的 服务器进行通信。

    展开全文
  • Windows Vista 、 Windows 7 、 Windows server 2008 等系统 音频系统相比之前的系统有很大的变化,产生了一套新的底层 API 即 Core Audio APIs 。该低层 API 为高层 API( 如 Media Foundation( 将要取代 ...

    Core Audio APIs 的优势:

     

    Windows VistaWindows 7Windows server 2008 等系统 音频系统相比之前的系统有很大的变化,产生了一套新的底层 APICore Audio APIs 。该低层 API 为高层 API( 如 Media Foundation( 将要取代 DirectShow 等高层 API) 等 ) 提供服务。 相比之前版本的 API 有如下优势:

     

    1. 具有低延时、故障恢复能力的音频流。

    2. 提高可靠性 ( 将很多音频函数从核心态移到了用户态 )

    3. 提高了安全性 (在安全的,低优先级别的线程处理被保护的音频内容)

    4. 为单独的音频设备分配了特定的系统级别的规则 (console, multimedia, communications)

    5. 用户可以直接操作相应音频终端设备 (Audio Endpoint Devices 如:扬声器、耳机、麦克风、 CD 播放器 ) 的软件抽象。

     

     

     

    Core Audio APIs 在系统中的位置:

    Core Audio APIs 的组成:

     

    1. Multimedia Device (MMDevice) API     API 用于枚举系统中的音频终端设备 (Audio Endpoint Devices) 。告诉音频客户端程序有哪些音频终端设备以及它们的性能,并且为这些设备创建驱动实例 (driver instances) 。是最基本的 Core Audio API ,为其他三个 API 提供服务。

    主要接口:

    IMMDeviceEnumerator  用来列举音频终端设备。

    IMMDevice                  代表一个音频设备 (audio device)

    IMMEndpoint               代表一个音频终端设备 (audio endpoint device) ,只有一个方法 GetDataFlow ,用来识别一个音频终端设备是一个输出设备 (rendering device) 还是一个输入设备 (capture device)

    IMMDeviceCollection            代表一个音频终端设备的集合

     

     

    2. EndpointVolume API       使客户端程序能够操作音频终端设备。

    主要接口:

    IAudioEndpointVolume  用于控制音频终端设备的音量、静音。

     

     

    3. Windows Audio Session API (WASAPI)       使客户端程序能够管理介于程序和音频终端设备之间的音频数据。

                                                            如应用程序本身的音量。

    主要接口:

    ISimpleAudioVolume            代表控制来往音频终端设备的音频流的音量。

     

     

    4. DeviceTopology API 客户端程序使用这个 API 可直接沿着音频适配器 (audio adapters) 的硬件设备里的数据通道进入布局特征。是最底层的音频 API ,可以通过适配器设备 (adapter devices) 的布局来查看和管理设备中的音频控制。下图为 DeviceTopology API 的作用范围  

     

     

    音频适配器设备 (audio adapter device) 内部 是由很多 Part 组成。主要包括 亚单位 ( Subunit ) 和连接头 ( Connector ) 。亚单位主要分为:音量控制 (Vol) 、静音控制 (Mute) 、多路器 (MUX) 等。连接头 (Con) 是一个连接的两端。

     

     

    Core Audio APIs 的使用:

    <1> 音频终端设备 (Audio Endpoint Device) 音量、静音控制

    比如控制“声音”对话框下“播放”选项卡中的“扬声器”等,“录制”选项卡中的“麦克风”、“立体声混音”等

     

     

     

     

    步骤:

    1.        得到 IMMDeviceEnumerator 接口。

    2.        遍历音频终端设备得到 IMMDeviceCollection 接口。

    3.        根据 IMMDeviceCollection 得到每个设备的IPropertyStore 接口,从而分辨并搜索到指定的设备IMMDevice 接口。

    4.        用IMMDevice 接口激活音量、静音控制接口IAudioEndpointVolume 。

     

     

     

    <2> 音频适配器设备亚单位 (Subunit) 的音量、静音控制

             比如控制“声音”对话框下“播放”选项卡中的“扬声器”下的“ CD 音频”、“麦克风”、“ Fornt Pink In ”等的控制。

     

     

     

    步骤:

    1.        得到 IMMDeviceEnumerator 接口。

    2.        遍历音频终端设备得到 IMMDeviceCollection 接口。

    3.        根据 IMMDeviceCollection 得到每个设备的IPropertyStore 接口,从而分辨并搜索到指定的设备IMMDevice 接口。

    4.        根据IMMDevice 接口和连接器接口IConnector 得到音频终端设备所对应的设备适配器(adapter device) 的布局接口IDeviceTopology 。

    5.        根据IDeviceTopology 接口得到指定的部分(Part) 。

    6.        最后用得到的部分(Part) 接口IPart 激活音量控制接口IAudioVolumeLevel 和静音控制接口IAudioMute 。

     

     

     

    <3> 会话 (Session) 音量、静音控制

             比如“音量合成器”中应用程序的音量。

     

     

    步骤:

    1.        得到 IMMDeviceEnumerator 接口。

    2.        根据 IMMDeviceEnumerator 得到默认设备的IMMDevice 接口。

    3.        得到音频会话接口 IAudioSessionManager

    4.        IAudioSessionManager 接口得到 IAudioSessionControl 接口,该接口用来设置会话 (Session) 参数。

    5.        设置好了参数之后,在由IAudioSessionManager 接口得到音频会话的音量、静音控制接口ISimpleAudioVolume ,从而可以控制程序的音量、静音。

    展开全文
  • 涉及底层内容消息全面详尽 WINDOWS API函数应用的具体步骤都很详尽 对你理解API很有帮助
  • VC 6 中使用waveInXXX 底层WINDOWS 语音 API实现录音与播放. waveInXXX可实现流控制,应用于 VOIP 的实时压缩
  • Windows 7、Windows Server 2008等系统音频系统底层API[转] http://itchen.iteye.com/blog/1167417
    展开全文
  • 音频系统底层API

    千次阅读 2018-09-17 11:14:49
    Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )...
  • C# 版封装的Windows API

    2018-04-03 19:04:48
    C#封装的各种Windows底层API 满足各位不会C和C++但是又想调用一些操作系统底层函数的程序员
  • mfc的底层是由windows api创建的,我们写mfc时不需要写底层代码,但是我们应该理解底层底层懂了上面的东西就会使用起来更简单 2.windows api创建窗口 创建一个窗口我总结为6步: 设计窗口 注册窗口 创建窗口 显示...
  • C#.net底层Windows API类-API函数2[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success), DllImport("advapi32.dll", SetLastError=true)] internal static extern int LsaClose(IntPtr handle);...
  • Win7音频系统底层API

    千次阅读 2016-01-15 16:04:07
     ...Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代Dir
  • 环境vs2019 c++控制台程序,这个主要是修改Kernel32.dll入口来使得在启动前就监听函数。
  • 系统音频系统底层API[转]

    千次阅读 2015-05-18 11:51:01
    Windows Vista 、 Windows 7 、 Windows server 2008 等系统 音频系统相比之前的系统有很大的变化,产生了一套新的底层 API 即 Core Audio APIs 。该低层 API 为高层 API( 如 Media Foundation( 将要取代 ...
  • Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectS
  • 此资料包里面包括了Windows驱动编程和Windows_API_参考资料,对于想在Windows系统底层进行开发和研究的同学,此资料包是个不错的选择
  • Windows底层窗口实现

    2019-11-14 23:59:25
    1,底层实现窗口 1.1 sdk ,api 句柄 1.2 Windows的消息处理机制 消息--->操作系统--->消息队列--->应用程序(从消息队列捕获消息,翻译消息,分发消息给操作系统) --->操作系统(调用回调函数)-...
  • 这里我将不使用顶点着色器、片段着色等实现OpenGL的底层API main.cpp #include<windows.h> #include<iostream> #include<stdio.h> #include <GL/glut.h> #include<vector> #...
  • Windows NTNative API 文档

    2009-05-14 17:41:48
    比较详细的介绍了 Windows底层函数
  • Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )...
  • 目的:只使用OpenGL的窗口初始化、画点...要求连线不使用Windows API,而是利用自己的2D Line算法,例如:2DDA算法。 #include<windows.h> #include<iostream> #include<vector> #include <GL.
  • 在window操作系统上运行的程序跟踪到底层是否全是调用windows提供的api,三方库的实现是否最终也是使用了windowsapi?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,500
精华内容 600
关键字:

windows底层api