AmCap源代码是用于展示和管理计算机系统中安装的应用程序列表的核心编码。此代码提供了对软件信息的访问,并支持添加、删除及更新应用的功能,为用户提供便捷高效的软件管理体验。
AMCap.h 文件描述:DirectShow 示例代码 - 音视频捕获。
版权所有 (c) Microsoft Corporation. 保留所有权利。
------------------------------------------------------------------------------
宏定义:
```cpp
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
```
设备通知定义:
```cpp
#if (WINVER < 0x0500)
#define DBT_DEVTYP_DEVICEINTERFACE 0x00000005 // 设备接口类
#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
typedef PVOID HDEVNOTIFY;
#endif
extern C {
typedef BOOL (WINAPI *PUnregisterDeviceNotification)(HDEVNOTIFY Handle);
typedef HDEVNOTIFY (WINAPI *PRegisterDeviceNotificationA)(HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags);
typedef HDEVNOTIFY (WINAPI *PRegisterDeviceNotificationW)(HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags);
}
#ifdef UNICODE
#define PRegisterDeviceNotification PRegisterDeviceNotificationW
#else
#define PRegisterDeviceNotification PRegisterDeviceNotificationA
#endif
#if (WINVER < 0x0500)
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
DWORD dbcc_size;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
char dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
DWORD dbcc_size;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
wchar_t dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
#ifdef UNICODE
typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
#else
typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
#endif
#endif