This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/scsiwmi.h

87 lines
2.8 KiB
C
Raw Permalink Normal View History

/*
* scsiwmi.h SCSI WMI definitions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _SCSIWMI_
#define _SCSIWMI_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* WMI registration flags */
#define WMIREG_FLAG_CALL_BY_NAME 0x40000000L
/* SCSI WMI request context */
typedef struct {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT;
typedef SCSIWMI_REQUEST_CONTEXT *PSCSIWMI_REQUEST_CONTEXT;
/* SCSI WMI GUID registration information */
typedef struct {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} SCSIWMIGUIDREGINFO;
typedef SCSIWMIGUIDREGINFO *PSCSIWMIGUIDREGINFO;
/* SCSI WMI enable/disable control */
typedef enum {
ScsiWmiEventControl = 0,
ScsiWmiDataBlockControl = 1
} SCSIWMI_ENABLE_DISABLE_CONTROL;
/* SCSI WMI callbacks */
typedef UCHAR (NTAPI *PSCSIWMI_QUERY_REGINFO)( PVOID, PSCSIWMI_REQUEST_CONTEXT, PWCHAR );
typedef BOOLEAN (NTAPI *PSCSIWMI_QUERY_DATABLOCK)( PVOID, PSCSIWMI_REQUEST_CONTEXT, ULONG, ULONG, ULONG, PULONG, ULONG, PUCHAR );
typedef BOOLEAN (NTAPI *PSCSIWMI_SET_DATABLOCK)( PVOID, PSCSIWMI_REQUEST_CONTEXT, ULONG, ULONG, ULONG, PUCHAR );
typedef BOOLEAN (NTAPI *PSCSIWMI_SET_DATAITEM)( PVOID, PSCSIWMI_REQUEST_CONTEXT, ULONG, ULONG, ULONG, ULONG, PUCHAR );
typedef BOOLEAN (NTAPI *PSCSIWMI_EXECUTE_METHOD)( PVOID, PSCSIWMI_REQUEST_CONTEXT, ULONG, ULONG, ULONG, ULONG, ULONG, PUCHAR );
typedef BOOLEAN (NTAPI *PSCSIWMI_FUNCTION_CONTROL)( PVOID, PSCSIWMI_REQUEST_CONTEXT, ULONG, SCSIWMI_ENABLE_DISABLE_CONTROL, BOOLEAN );
/* SCSI WMILIB context */
typedef struct _SCSIWMILIB_CONTEXT {
ULONG GuidCount;
PSCSIWMIGUIDREGINFO GuidList;
PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
PSCSIWMI_SET_DATAITEM SetWmiDataItem;
PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
} SCSI_WMILIB_CONTEXT;
typedef SCSI_WMILIB_CONTEXT *PSCSI_WMILIB_CONTEXT;
/* Functions implemented as macros */
#define ScsiPortWmiGetReturnStatus( x ) ((x)->ReturnStatus)
#define ScsiPortWmiGetReturnSize( x ) ((x)->ReturnSize)
#if (NTDDI_VERSION >= 0x05020000)
#define ScsiPortWmiIsQueryAllData( x ) ((x)->MinorFunction == WMI_GET_ALL_DATA)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _SCSIWMI_ */