24#define DWORD_PTR UINT_PTR
25#define LONG_PTR INT_PTR
26#define ULONG_PTR UINT_PTR
32#if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
33# define _TYPE_ALIGNMENT(type) __alignof(type)
34#elif defined(__GNUC__)
35# define _TYPE_ALIGNMENT(type) __alignof__(type)
44#if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
45#pragma warning(disable:4116)
48#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
49# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
56#define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size);
59# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align);
61# define TEST_TYPE_ALIGN(type, align)
65# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
66# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
68# define TEST_TARGET_ALIGN(type, align)
69# define TEST_FIELD_ALIGN(type, field, align)
72#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
74#define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size)
75#define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size)
76#define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0);
77#define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0);
char * Pad(char *Str, char PadChar, ULONG Length)
static const WCHAR Signature[]
#define TEST_TARGET_SIZE(type, size)
#define TEST_FIELD_OFFSET(type, field, offset)
#define TEST_TARGET_ALIGN(type, align)
static void test_pack(void)
#define TEST_TYPE_SIZE(type, size)
#define TEST_FIELD_SIZE(type, field, size)
#define TEST_TYPE_ALIGN(type, align)
#define TEST_FIELD_ALIGN(type, field, align)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
struct _NDR_CORRELATION_INFO * PNDR_CORRELATION_INFO
const unsigned char * PFORMAT_STRING
struct _NDR_ASYNC_MESSAGE * PNDR_ASYNC_MESSAGE
static void test_pack_XMIT_ROUTINE_QUINTUPLE(void)
static void test_pack_MIDL_SYNTAX_INFO(void)
static void test_pack_NDR_RUNDOWN(void)
static void test_pack_UUID_VECTOR(void)
static void test_pack_MIDL_SERVER_INFO(void)
static void test_pack_ARRAY_INFO(void)
static void test_pack_RPC_SERVER_INTERFACE(void)
static void test_pack_FULL_PTR_TO_REFID_ELEMENT(void)
static void test_pack_USER_MARSHAL_ROUTINE_QUADRUPLE(void)
static void test_pack_PXMIT_ROUTINE_QUINTUPLE(void)
static void test_pack_COMM_FAULT_OFFSETS(void)
static void test_pack_MIDL_STUB_MESSAGE(void)
static void test_pack_PARRAY_INFO(void)
static void test_pack_PRPC_DISPATCH_TABLE(void)
static void test_pack_RPC_AUTHZ_HANDLE(void)
static void test_pack_USER_MARSHAL_CB(void)
static void test_pack_RPC_DISPATCH_FUNCTION(void)
static void test_pack_EXPR_EVAL(void)
static void test_pack_PFULL_PTR_TO_REFID_ELEMENT(void)
static void test_pack_PNDR_CORRELATION_INFO(void)
static void test_pack_I_RPC_HANDLE(void)
static void test_pack_SERVER_ROUTINE(void)
static void test_pack_RPC_DISPATCH_TABLE(void)
static void test_pack_PNDR_ASYNC_MESSAGE(void)
static void test_pack_XMIT_HELPER_ROUTINE(void)
static void test_pack_RPC_SYNTAX_IDENTIFIER(void)
static void test_pack_RPC_CLIENT_INTERFACE(void)
static void test_pack_NDR_CCONTEXT(void)
static void test_pack_RPC_BINDING_HANDLE(void)
static void test_pack_RPC_IF_HANDLE(void)
static void test_pack_NDR_SCONTEXT(void)
static void test_pack_PSCONTEXT_QUEUE(void)
static void test_pack_PMIDL_STUBLESS_PROXY_INFO(void)
static void test_pack_NDR_USER_MARSHAL_INFO_LEVEL1(void)
static void test_pack_RPC_BINDING_VECTOR(void)
static void test_pack_PRPC_MESSAGE(void)
static void test_pack_CS_STUB_INFO(void)
static void test_pack_FULL_PTR_XLAT_TABLES(void)
static void test_pack_NDR_USER_MARSHAL_INFO(void)
static void test_pack_USER_MARSHAL_MARSHALLING_ROUTINE(void)
static void test_pack_GENERIC_BINDING_ROUTINE_PAIR(void)
static void test_pack_MIDL_STUBLESS_PROXY_INFO(void)
static void test_pack_USER_MARSHAL_UNMARSHALLING_ROUTINE(void)
static void test_pack_RPC_PROTSEQ_ENDPOINT(void)
static void test_pack_PGENERIC_BINDING_INFO(void)
static void test_pack_PRPC_PROTSEQ_ENDPOINT(void)
static void test_pack_PRPC_STUB_FUNCTION(void)
static void test_pack_PGENERIC_BINDING_ROUTINE_PAIR(void)
static void test_pack_USER_MARSHAL_SIZING_ROUTINE(void)
static void test_pack_RPC_VERSION(void)
static void test_pack_STUB_THUNK(void)
static void test_pack_PMIDL_STUB_MESSAGE(void)
static void test_pack_PFORMAT_STRING(void)
static void test_pack_RPC_POLICY(void)
static void test_pack_PRPC_POLICY(void)
static void test_pack_USER_MARSHAL_FREEING_ROUTINE(void)
static void test_pack_PMIDL_STUB_DESC(void)
static void test_pack_PRPC_CLIENT_INTERFACE(void)
static void test_pack_RPC_AUTH_IDENTITY_HANDLE(void)
static void test_pack_PMIDL_SYNTAX_INFO(void)
static void test_pack_GENERIC_BINDING_INFO(void)
static void test_pack_RPC_IF_ID(void)
static void test_pack_SCONTEXT_QUEUE(void)
static void test_pack_PRPC_SERVER_INTERFACE(void)
static void test_pack_MALLOC_FREE_STRUCT(void)
static void test_pack_PMIDL_SERVER_INFO(void)
static void test_pack_RPC_MESSAGE(void)
static void test_pack_NDR_NOTIFY2_ROUTINE(void)
static void test_pack_NDR_NOTIFY_ROUTINE(void)
static void test_pack_PRPC_SYNTAX_IDENTIFIER(void)
static void test_pack_PFULL_PTR_XLAT_TABLES(void)
static void test_pack_MIDL_STUB_DESC(void)
static void test_pack_RPC_STATUS(void)
static void test_pack_RPC_AUTH_KEY_RETRIEVAL_FN(void)
static void test_pack_MIDL_FORMAT_STRING(void)
static CONST DWORD MemorySize[]
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ ULONG Flags