@@ -40,10 +40,10 @@ typedef union {
4040} LARGE_INTEGER ;
4141typedef int32_t NTSTATUS ; // 0 for success, -1 for failure
4242# define NT_SUCCESS (Status ) ((NTSTATUS) (Status) >= 0)
43+ # define _In_range_ (low , hi )
4344#endif
4445
4546#define D3DKMT_ALIGN64 __attribute__((aligned(8)))
46- #define MAX_ENUM_ADAPTERS 16
4747
4848typedef struct D3DKMT_HANDLE {
4949 union {
@@ -68,6 +68,12 @@ typedef struct _D3DKMT_ADAPTERINFO {
6868 BOOL bPrecisePresentRegionsPreferred ;
6969} D3DKMT_ADAPTERINFO ;
7070
71+ #define MAX_ENUM_ADAPTERS 16
72+ typedef struct _D3DKMT_ENUMADAPTERS {
73+ _In_range_ (0 , MAX_ENUM_ADAPTERS ) ULONG NumAdapters ;
74+ D3DKMT_ADAPTERINFO Adapters [MAX_ENUM_ADAPTERS ];
75+ } D3DKMT_ENUMADAPTERS ;
76+
7177typedef struct _D3DKMT_ENUMADAPTERS2 {
7278 ULONG NumAdapters ; // in/out: On input, the count of the pAdapters array buffer. On output, the number of adapters enumerated.
7379 D3DKMT_ADAPTERINFO * pAdapters ; // out: Array of enumerated adapters containing NumAdapters elements
@@ -319,7 +325,8 @@ static_assert(sizeof(D3DKMT_NODEMETADATA) == 0x4E, "D3DKMT_NODEMETADATA structur
319325EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTOpenAdapterFromLuid (_Inout_ CONST D3DKMT_OPENADAPTERFROMLUID * );
320326EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTQueryAdapterInfo (_Inout_ CONST D3DKMT_QUERYADAPTERINFO * );
321327EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTCloseAdapter (_In_ CONST D3DKMT_CLOSEADAPTER * );
322- EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTEnumAdapters2 (_Inout_ D3DKMT_ENUMADAPTERS2 * );
328+ EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTEnumAdapters (_Inout_ CONST D3DKMT_ENUMADAPTERS * );
329+ EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTEnumAdapters2 (_Inout_ CONST D3DKMT_ENUMADAPTERS2 * );
323330EXTERN_C _Check_return_ NTSTATUS APIENTRY D3DKMTQueryStatistics (_In_ CONST D3DKMT_QUERYSTATISTICS * );
324331
325332#else
0 commit comments