mirror of https://github.com/acidanthera/audk.git
Update ScsiIo protocol and ScsiPassThruExt protocol guid value to UEFI 2.1
And remove DriverHealth protocol file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6099 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
258cce1382
commit
eecd469b10
|
@ -1,247 +0,0 @@
|
|||
/** @file
|
||||
EFI Driver Health Protocol
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_DRIVER_HEALTH_H__
|
||||
#define __EFI_DRIVER_HEALTH_H__
|
||||
|
||||
#define EFI_DRIVER_HEALTH_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 } \
|
||||
}
|
||||
|
||||
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
|
||||
|
||||
///
|
||||
/// EFI_DRIVER_HEALTH_HEALTH_STATUS
|
||||
///
|
||||
typedef enum {
|
||||
EfiDriverHealthStatusHealthy,
|
||||
EfiDriverHealthStatusRepairRequired,
|
||||
EfiDriverHealthStatusConfigurationRequired,
|
||||
EfiDriverHealthStatusFailed,
|
||||
EfiDriverHealthStatusReconnectRequired,
|
||||
EfiDriverHealthStatusRebootRequired
|
||||
} EFI_DRIVER_HEALTH_HEALTH_STATUS;
|
||||
|
||||
///
|
||||
/// EFI_DRIVER_HEALTH_HII_MESSAGE
|
||||
///
|
||||
typedef struct {
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
EFI_STRING_ID StringId;
|
||||
UINT64 Reserved;
|
||||
} EFI_DRIVER_HEALTH_HII_MESSAGE;
|
||||
|
||||
/**
|
||||
Reports the progress of a repair operation
|
||||
|
||||
@param Value A value between 0 and Limit that identifies the current
|
||||
progress of the repair operation.
|
||||
|
||||
@param Limit The maximum value of Value for the current repair operation.
|
||||
For example, a driver that wants to specify progress in
|
||||
percent would use a Limit value of 100.
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY)(
|
||||
IN UINTN Value,
|
||||
IN UINTN Limit
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieves the health status of a controller in the platform. This function can also
|
||||
optionally return warning messages, error messages, and a set of HII Forms that may
|
||||
be repair a controller that is not proper configured.
|
||||
|
||||
@param This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
|
||||
|
||||
@param ControllerHandle The handle of the controller to retrieve the health status
|
||||
on. This is an optional parameter that may be NULL. If
|
||||
this parameter is NULL, then the value of ChildHandle is
|
||||
ignored, and the combined health status of all the devices
|
||||
that the driver is managing is returned.
|
||||
|
||||
@param ChildHandle The handle of the child controller to retrieve the health
|
||||
status on. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL. It
|
||||
will be NULL for device drivers. It will also be NULL for
|
||||
bus drivers when an attempt is made to collect the health
|
||||
status of the bus controller. If will not be NULL when an
|
||||
attempt is made to collect the health status for a child
|
||||
controller produced by the driver.
|
||||
|
||||
@param HealthStatus A pointer to the health status that is returned by this
|
||||
function. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL.
|
||||
The health status for the controller specified by
|
||||
ControllerHandle and ChildHandle is returned.
|
||||
|
||||
@param MessageList A pointer to an array of warning or error messages associated
|
||||
with the controller specified by ControllerHandle and
|
||||
ChildHandle. This is an optional parameter that may be NULL.
|
||||
MessageList is allocated by this function with the EFI Boot
|
||||
Service AllocatePool(), and it is the caller's responsibility
|
||||
to free MessageList with the EFI Boot Service FreePool().
|
||||
Each message is specified by tuple of an EFI_HII_HANDLE and
|
||||
an EFI_STRING_ID. The array of messages is terminated by tuple
|
||||
containing a EFI_HII_HANDLE with a value of NULL. The
|
||||
EFI_HII_STRING_PROTOCOL.GetString() function can be used to
|
||||
retrieve the warning or error message as a Null-terminated
|
||||
Unicode string in a specific language. Messages may be
|
||||
returned for any of the HealthStatus values except
|
||||
EfiDriverHealthStatusReconnectRequired and
|
||||
EfiDriverHealthStatusRebootRequired.
|
||||
|
||||
@param FormHiiHandle A pointer to the HII handle for an HII form associated with the
|
||||
controller specified by ControllerHandle and ChildHandle.
|
||||
This is an optional parameter that may be NULL. An HII form
|
||||
is specified by a combination of an EFI_HII_HANDLE and an
|
||||
EFI_GUID that identifies the Form Set GUID. The
|
||||
EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used
|
||||
to display and allow the user to make configuration changes
|
||||
to the HII Form. An HII form may only be returned with a
|
||||
HealthStatus value of EfiDriverHealthStatusConfigurationRequired.
|
||||
|
||||
@param FormSetGuid A pointer to the GUID for an HII form associated with the
|
||||
controller specified by ControllerHandle and ChildHandle.
|
||||
This is an optional parameter that may be NULL. An HII form
|
||||
is specified by a combination of an EFI_HII_HANDLE and an
|
||||
EFI_GUID that identifies the Form Set GUID. The
|
||||
EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used
|
||||
to display and allow the user to make configuration changes
|
||||
to the HII Form. An HII form may only be returned with a
|
||||
HealthStatus value of EfiDriverHealthStatusConfigurationRequired.
|
||||
|
||||
@retval EFI_SUCCESS ControllerHandle is NULL, and all the controllers
|
||||
managed by this driver specified by This have a health
|
||||
status of EfiDriverHealthStatusHealthy with no warning
|
||||
messages to be returned. The ChildHandle, HealthStatus,
|
||||
MessageList, and FormList parameters are ignored.
|
||||
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
do not have a health status of EfiDriverHealthStatusHealthy.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
FormList parameters are ignored.
|
||||
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
have one or more warning and/or error messages.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
FormList parameters are ignored.
|
||||
|
||||
@retval EFI_SUCCESS ControllerHandle is not NULL and the health status
|
||||
of the controller specified by ControllerHandle and
|
||||
ChildHandle was returned in HealthStatus. A list
|
||||
of warning and error messages may be optionally
|
||||
returned in MessageList, and a list of HII Forms
|
||||
may be optionally returned in FormList.
|
||||
|
||||
@retval EFI_UNSUPPORTED ControllerHandle is not NULL, and the controller
|
||||
specified by ControllerHandle and ChildHandle is not
|
||||
currently being managed by the driver specified by This.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER HealthStatus is NULL.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES MessageList is not NULL, and there are not enough
|
||||
resource available to allocate memory for MessageList.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DRIVER_HEALTH_GET_HEALTH_STATUS)(
|
||||
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle OPTIONAL,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
OUT EFI_DRIVER_HEALTH_HEALTH_STATUS *HealthStatus,
|
||||
OUT EFI_DRIVER_HEALTH_HII_MESSAGE **MessageList OPTIONAL,
|
||||
OUT EFI_HII_HANDLE *FormHiiHandle OPTIONAL,
|
||||
OUT EFI_GUID **FormSetGuid OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
Performs a repair operation on a controller in the platform. This function can
|
||||
optionally report repair progress information back to the platform.
|
||||
|
||||
@param This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
|
||||
@param ControllerHandle The handle of the controller to repair.
|
||||
@param ChildHandle The handle of the child controller to repair. This is
|
||||
an optional parameter that may be NULL. It will be NULL
|
||||
for device drivers. It will also be NULL for bus
|
||||
drivers when an attempt is made to repair a bus controller.
|
||||
If will not be NULL when an attempt is made to repair a
|
||||
child controller produced by the driver.
|
||||
@param ProgressNotification
|
||||
A notification function that may be used by a driver to
|
||||
report the progress of the repair operation. This is
|
||||
an optional parameter that may be NULL.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS An attempt to repair the controller specified by
|
||||
ControllerHandle and ChildHandle was performed.
|
||||
The result of the repair operation can bet
|
||||
determined by calling GetHealthStatus().
|
||||
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
||||
managing the controller specified by ControllerHandle
|
||||
and ChildHandle.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to perform the
|
||||
repair operation.
|
||||
|
||||
*/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR)(
|
||||
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
IN EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY ProgressNotification OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
When installed, the Driver Health Protocol produces a collection of services
|
||||
that allow the health status for a controller to be retrieved. If a controller
|
||||
is not in a usable state, status messages may be reported to the user, repair
|
||||
operations can be invoked, and the user may be asked to make software and/or
|
||||
hardware configuration changes.
|
||||
|
||||
@par Protocol Description:
|
||||
The Driver Health Protocol is optionally produced by a driver that follows the
|
||||
EFI Driver Model. If an EFI Driver needs to report health status to the platform,
|
||||
provide warning or error messages to the user, perform length repair operations,
|
||||
or request the user to make hardware or software configuration changes, then the
|
||||
Driver Health Protocol must be produced.
|
||||
|
||||
A controller that is managed by driver that follows the EFI Driver Model and
|
||||
produces the Driver Health Protocol must report the current health of the
|
||||
controllers that the driver is currently managing. The controller can initially
|
||||
be healthy, failed, require repair, or require configuration. If a controller
|
||||
requires configuration, and the user make configuration changes, the controller
|
||||
may then need to be reconnected or the system may need to be rebooted for the
|
||||
configuration changes to take affect. Figure 2-1 below shows all the possible
|
||||
health states of a controller and the legal transitions between the health states.
|
||||
|
||||
**/
|
||||
struct _EFI_DRIVER_HEALTH_PROTOCOL {
|
||||
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
|
||||
EFI_DRIVER_HEALTH_REPAIR Repair;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiDriverHealthProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -85,6 +85,7 @@ typedef UINT64 EFI_FV_ATTRIBUTES;
|
|||
#define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000ULL
|
||||
|
||||
/**
|
||||
Returns the attributes and current settings of the firmware volume.
|
||||
|
||||
Because of constraints imposed by the underlying firmware
|
||||
storage, an instance of the Firmware Volume Protocol may not
|
||||
|
@ -116,6 +117,8 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Modifies the current settings of the firmware volume according to the input parameter.
|
||||
|
||||
The SetVolumeAttributes() function is used to set configurable
|
||||
firmware volume attributes. Only EFI_FV_READ_STATUS,
|
||||
EFI_FV_WRITE_STATUS, and EFI_FV_LOCK_STATUS may be modified, and
|
||||
|
@ -209,11 +212,13 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Retrieves a file and/or file information from the firmware volume.
|
||||
|
||||
ReadFile() is used to retrieve any file from a firmware volume
|
||||
during the DXE phase. The actual binary encoding of the file in
|
||||
the firmware volume media may be in any arbitrary format as long
|
||||
as it does the following: ?It is accessed using the Firmware
|
||||
Volume Protocol. ?The image that is returned follows the image
|
||||
as it does the following: It is accessed using the Firmware
|
||||
Volume Protocol. The image that is returned follows the image
|
||||
format defined in Code Definitions: PI Firmware File Format.
|
||||
If the input value of Buffer==NULL, it indicates the caller is
|
||||
requesting only that the type, attributes, and size of the
|
||||
|
@ -308,12 +313,12 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Locates the requested section within a file and returns it in a buffer.
|
||||
|
||||
ReadSection() is used to retrieve a specific section from a file
|
||||
within a firmware volume. The section returned is determined
|
||||
using a depth-first, left-to-right search algorithm through all
|
||||
sections found in the specified file. See
|
||||
????Firmware File Sections???? on page 9 for more details about
|
||||
sections. The output buffer is specified by a double indirection
|
||||
sections found in the specified file. The output buffer is specified by a double indirection
|
||||
of the Buffer parameter. The input value of Buffer is used to
|
||||
determine if the output buffer is caller allocated or is
|
||||
dynamically allocated by ReadSection(). If the input value of
|
||||
|
@ -432,6 +437,8 @@ typedef struct {
|
|||
} EFI_FV_WRITE_FILE_DATA;
|
||||
|
||||
/**
|
||||
Locates the requested section within a file and returns it in a buffer.
|
||||
|
||||
WriteFile() is used to write one or more files to a firmware
|
||||
volume. Each file to be written is described by an
|
||||
EFI_FV_WRITE_FILE_DATA structure. The caller must ensure that
|
||||
|
@ -506,6 +513,9 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Retrieves information about the next file in the firmware volume store
|
||||
that matches the search criteria.
|
||||
|
||||
GetNextFile() is the interface that is used to search a firmware
|
||||
volume for a particular file. It is called successively until
|
||||
the desired file is located or the function returns
|
||||
|
@ -589,6 +599,8 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
/**
|
||||
Return information about a firmware volume.
|
||||
|
||||
The GetInfo() function returns information of type
|
||||
InformationType for the requested firmware volume. If the volume
|
||||
does not support the requested information type, then
|
||||
|
@ -644,6 +656,7 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Sets information about a firmware volume.
|
||||
|
||||
The SetInfo() function sets information of type InformationType
|
||||
on the requested firmware volume.
|
||||
|
|
|
@ -139,6 +139,8 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Reads the specified number of bytes into a buffer from the specified block.
|
||||
|
||||
The Read() function reads the requested number of bytes from the
|
||||
requested block and stores them in the provided buffer.
|
||||
Implementations should be mindful that the firmware volume
|
||||
|
@ -194,6 +196,8 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
/**
|
||||
Writes the specified number of bytes from the input buffer to the block.
|
||||
|
||||
The Write() function writes the specified number of bytes from
|
||||
the provided buffer to the specified block and offset. If the
|
||||
firmware volume is sticky write, the caller must ensure that
|
||||
|
@ -270,6 +274,8 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
Erases and initializes a firmware volume block.
|
||||
|
||||
The EraseBlocks() function erases one or more blocks as denoted
|
||||
by the variable argument list. The entire parameter list of
|
||||
blocks must be verified before erasing any blocks. If a block is
|
||||
|
|
|
@ -60,6 +60,8 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
|||
|
||||
|
||||
/**
|
||||
Initialize the browser to display the specified configuration forms.
|
||||
|
||||
This function is the primary interface to the internal forms-based browser.
|
||||
The forms browser will display forms associated with the specified Handles.
|
||||
The browser will select all forms in packages which have the specified Type
|
||||
|
@ -68,7 +70,7 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
|||
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance
|
||||
|
||||
@param Handles A pointer to an array of Handles. This value should correspond
|
||||
to the value of the HII form package that is required to be displayed. Type
|
||||
to the value of the HII form package that is required to be displayed.
|
||||
|
||||
@param HandleCount The number of Handles specified in Handle.
|
||||
|
||||
|
@ -107,6 +109,7 @@ EFI_STATUS
|
|||
|
||||
|
||||
/**
|
||||
This function is called by a callback handler to retrieve uncommitted state data from the browser.
|
||||
|
||||
This routine is called by a routine which was called by the
|
||||
browser. This routine called this service in the browser to
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#define EFI_SCSI_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x932f4736, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
|
||||
0x932f47e6, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
|
||||
}
|
||||
|
||||
///
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x1d3de7f0, 0x0807, 0x424f, {0xaa, 0x69, 0x11, 0xa5, 0x4e, 0x19, 0xa4, 0x6f } \
|
||||
0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe } \
|
||||
}
|
||||
|
||||
typedef struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL EFI_EXT_SCSI_PASS_THRU_PROTOCOL;
|
||||
|
|
|
@ -213,7 +213,6 @@
|
|||
gEfiPlatformDriverOverrideProtocolGuid = { 0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
|
||||
gEfiDriverFamilyOverrideProtocolGuid = {0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
|
||||
gEfiBusSpecificDriverOverrideProtocolGuid = { 0x3BC1B285, 0x8A15, 0x4A82, { 0xAA, 0xBF, 0x4D, 0x7D, 0x13, 0xFB, 0x32, 0x65 }}
|
||||
gEfiDriverHealthProtocolGuid = {0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 }}
|
||||
gEfiDriverDiagnostics2ProtocolGuid = { 0x4D330321, 0x025F, 0x4AAC, { 0x90, 0xD8, 0x5E, 0xD9, 0x00, 0x17, 0x3B, 0x63 }}
|
||||
gEfiDriverDiagnosticsProtocolGuid = { 0x0784924F, 0xE296, 0x11D4, { 0x9A, 0x49, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
|
||||
gEfiComponentName2ProtocolGuid = { 0x6A7A5CFF, 0xE8D9, 0x4F70, { 0xBA, 0xDA, 0x75, 0xAB, 0x30, 0x25, 0xCE, 0x14 }}
|
||||
|
@ -245,8 +244,8 @@
|
|||
gEfiUnicodeCollation2ProtocolGuid = {0xa4c751fc, 0x23ae, 0x4c3e, { 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49 }}
|
||||
gEfiPciRootBridgeIoProtocolGuid = { 0x2F707EBB, 0x4A1A, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
|
||||
gEfiPciIoProtocolGuid = { 0x4CF5B200, 0x68B8, 0x4CA5, { 0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A }}
|
||||
gEfiScsiIoProtocolGuid = { 0x932F4736, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }}
|
||||
gEfiExtScsiPassThruProtocolGuid = { 0x143B7632, 0xB81B, 0x4CB7, { 0xAB, 0xD3, 0xB6, 0x25, 0xA5, 0xB9, 0xBF, 0xFE }}
|
||||
gEfiScsiIoProtocolGuid = { 0x932F47e6, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }}
|
||||
gEfiExtScsiPassThruProtocolGuid = { 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe }}
|
||||
gEfiScsiPassThruProtocolGuid = { 0xA59E8FCF, 0xBDA0, 0x43BB, { 0x90, 0xB1, 0xD3, 0x73, 0x2E, 0xCA, 0xA8, 0x77 }}
|
||||
gEfiIScsiInitiatorNameProtocolGuid = { 0x59324945, 0xEC44, 0x4C0D, { 0xB1, 0xCD, 0x9D, 0xB1, 0x39, 0xDF, 0x07, 0x0C }}
|
||||
gEfiUsb2HcProtocolGuid = { 0x3E745226, 0x9818, 0x45B6, { 0xA2, 0xAC, 0xD7, 0xCD, 0x0E, 0x8B, 0xA2, 0xBC }}
|
||||
|
|
Loading…
Reference in New Issue