Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  d3d11_1.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use ctypes::c_void;
use shared::basetsd::{UINT64, UINT8};
use shared::dxgiformat::DXGI_FORMAT;
use shared::dxgitype::{DXGI_COLOR_SPACE_TYPE, DXGI_RATIONAL};
use shared::guiddef::{GUID, REFIID};
use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT};
use um::d3d11::{
    D3D11_BLEND, D3D11_BLEND_OP, D3D11_BOX, D3D11_CULL_MODE, D3D11_FILL_MODE, D3D11_RECT,
    D3D11_VIDEO_DECODER_BUFFER_TYPE, D3D11_VIDEO_DECODER_CONFIG, D3D11_VIDEO_DECODER_DESC,
    ID3D11BlendState, ID3D11BlendStateVtbl, ID3D11Buffer, ID3D11CryptoSession, ID3D11Device,
    ID3D11DeviceChild, ID3D11DeviceChildVtbl, ID3D11DeviceContext, ID3D11DeviceContextVtbl,
    ID3D11DeviceVtbl, ID3D11RasterizerState, ID3D11RasterizerStateVtbl, ID3D11Resource,
    ID3D11VideoContext, ID3D11VideoContextVtbl, ID3D11VideoDecoder, ID3D11VideoDevice,
    ID3D11VideoDeviceVtbl, ID3D11VideoProcessor, ID3D11VideoProcessorEnumerator,
    ID3D11VideoProcessorEnumeratorVtbl, ID3D11View
};
use um::d3dcommon::D3D_FEATURE_LEVEL;
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::{HANDLE, HRESULT, LPCWSTR};
DEFINE_GUID!{IID_ID3D11BlendState1,
    0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9}
DEFINE_GUID!{IID_ID3D11RasterizerState1,
    0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e}
DEFINE_GUID!{IID_ID3DDeviceContextState,
    0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11}
DEFINE_GUID!{IID_ID3D11DeviceContext1,
    0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1}
DEFINE_GUID!{IID_ID3D11VideoContext1,
    0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e}
DEFINE_GUID!{IID_ID3D11VideoDevice1,
    0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f}
DEFINE_GUID!{IID_ID3D11VideoProcessorEnumerator1,
    0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1}
DEFINE_GUID!{IID_ID3D11Device1,
    0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86}
DEFINE_GUID!{IID_ID3DUserDefinedAnnotation,
    0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab}
ENUM!{enum D3D11_COPY_FLAGS {
    D3D11_COPY_NO_OVERWRITE = 0x00000001,
    D3D11_COPY_DISCARD = 0x00000002,
}}
ENUM!{enum D3D11_LOGIC_OP {
    D3D11_LOGIC_OP_CLEAR = 0,
    D3D11_LOGIC_OP_SET = 1,
    D3D11_LOGIC_OP_COPY = 2,
    D3D11_LOGIC_OP_COPY_INVERTED = 3,
    D3D11_LOGIC_OP_NOOP = 4,
    D3D11_LOGIC_OP_INVERT = 5,
    D3D11_LOGIC_OP_AND = 6,
    D3D11_LOGIC_OP_NAND = 7,
    D3D11_LOGIC_OP_OR = 8,
    D3D11_LOGIC_OP_NOR = 9,
    D3D11_LOGIC_OP_XOR = 10,
    D3D11_LOGIC_OP_EQUIV = 11,
    D3D11_LOGIC_OP_AND_REVERSE = 12,
    D3D11_LOGIC_OP_AND_INVERTED = 13,
    D3D11_LOGIC_OP_OR_REVERSE = 14,
    D3D11_LOGIC_OP_OR_INVERTED = 15,
}}
STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC1 {
    BlendEnable: BOOL,
    LogicOpEnable: BOOL,
    SrcBlend: D3D11_BLEND,
    DestBlend: D3D11_BLEND,
    BlendOp: D3D11_BLEND_OP,
    SrcBlendAlpha: D3D11_BLEND,
    DestBlendAlpha: D3D11_BLEND,
    BlendOpAlpha: D3D11_BLEND_OP,
    LogicOp: D3D11_LOGIC_OP,
    RenderTargetWriteMask: UINT8,
}}
STRUCT!{struct D3D11_BLEND_DESC1 {
    AlphaToCoverageEnable: BOOL,
    IndependentBlendEnable: BOOL,
    RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC1; 8],
}}
RIDL!{#[uuid(0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9)]
interface ID3D11BlendState1(ID3D11BlendState1Vtbl): ID3D11BlendState(ID3D11BlendStateVtbl) {
    fn GetDesc1(
        pDesc: *mut D3D11_BLEND_DESC1,
    ) -> (),
}}
STRUCT!{struct D3D11_RASTERIZER_DESC1 {
    FillMode: D3D11_FILL_MODE,
    CullMode: D3D11_CULL_MODE,
    FrontCounterClockwise: BOOL,
    DepthBias: INT,
    DepthBiasClamp: FLOAT,
    SlopeScaledDepthBias: FLOAT,
    DepthClipEnable: BOOL,
    ScissorEnable: BOOL,
    MultisampleEnable: BOOL,
    AntialiasedLineEnable: BOOL,
    ForcedSampleCount: UINT,
}}
RIDL!{#[uuid(0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e)]
interface ID3D11RasterizerState1(ID3D11RasterizerState1Vtbl):
    ID3D11RasterizerState(ID3D11RasterizerStateVtbl) {
    fn GetDesc1(
        pDesc: *mut D3D11_RASTERIZER_DESC1,
    ) -> (),
}}
ENUM!{enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG {
    D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1,
}}
RIDL!{#[uuid(0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11)]
interface ID3DDeviceContextState(ID3DDeviceContextStateVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1)]
interface ID3D11DeviceContext1(ID3D11DeviceContext1Vtbl):
    ID3D11DeviceContext(ID3D11DeviceContextVtbl) {
    fn CopySubresourceRegion1(
        pDstResource: *mut ID3D11Resource,
        DstSubresource: UINT,
        DstX: UINT,
        DstY: UINT,
        DstZ: UINT,
        pSrcResource: *mut ID3D11Resource,
        SrcSubresource: UINT,
        pSrcBox: *const D3D11_BOX,
        CopyFlags: UINT,
    ) -> (),
    fn UpdateSubresource1(
        pDstResource: *mut ID3D11Resource,
        DstSubresource: UINT,
        pDstBox: *const D3D11_BOX,
        pSrcData: *mut c_void,
        SrcRowPitch: UINT,
        SrcDepthPitch: UINT,
        CopyFlags: UINT,
    ) -> (),
    fn DiscardResource(
        pResource: *mut ID3D11Resource,
    ) -> (),
    fn DiscardView(
        pResource: *mut ID3D11Resource,
    ) -> (),
    fn VSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn HSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn DSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn GSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn PSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn CSSetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
        pFirstConstant: *const UINT,
        pNumConstants: *const UINT,
    ) -> (),
    fn VSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn HSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn DSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn GSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn PSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn CSGetConstantBuffers1(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *mut *mut ID3D11Buffer,
        pFirstConstant: *mut UINT,
        pNumConstants: *mut UINT,
    ) -> (),
    fn SwapDeviceContextState(
        pState: *mut ID3DDeviceContextState,
        ppPreviousState: *mut *mut ID3DDeviceContextState,
    ) -> (),
    fn ClearView(
        pView: *mut ID3D11View,
        Color: [FLOAT; 4],
        pRect: *const D3D11_RECT,
        NumRects: UINT,
    ) -> (),
    fn DiscardView1(
        pResourceView: *mut ID3D11View,
        pRects: *const D3D11_RECT,
        NumRects: UINT,
    ) -> (),
}}
STRUCT!{struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK {
    ClearSize: UINT,
    EncryptedSize: UINT,
}}
STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC1 {
    BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE,
    DataOffset: UINT,
    DataSize: UINT,
    pIV: *mut c_void,
    IVSize: UINT,
    pSubSampleMappingBlock: *mut D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK,
    SubSampleMappingCount: UINT,
}}
STRUCT!{struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION {
    pCryptoSession: *mut ID3D11CryptoSession,
    BlobSize: UINT,
    pBlob: *mut c_void,
    pKeyInfoId: *mut GUID,
    PrivateDataSize: UINT,
    pPrivateData: *mut c_void,
}}
ENUM!{enum D3D11_VIDEO_DECODER_CAPS {
    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x1,
    D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME = 0x02,
    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC = 0x04,
    D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED = 0x08,
    D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED = 0x10,
}}
ENUM!{enum D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS {
    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION = 0x01,
    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE = 0x02,
    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION = 0x04,
    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT = 0x08,
}}
STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT {
    Enable: BOOL,
    Width: UINT,
    Height: UINT,
    Format: DXGI_FORMAT,
}}
ENUM!{enum D3D11_CRYPTO_SESSION_STATUS {
    D3D11_CRYPTO_SESSION_STATUS_OK = 0,
    D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 1,
    D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 2,
}}
STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA {
    PrivateDataSize: UINT,
    HWProtectionDataSize: UINT,
    pbInput: [BYTE; 4],
}}
STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
    PrivateDataSize: UINT,
    MaxHWProtectionDataSize: UINT,
    HWProtectionDataSize: UINT,
    TransportTime: UINT64,
    ExecutionTime: UINT64,
    pbOutput: [BYTE; 4],
}}
STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA {
    HWProtectionFunctionID: UINT,
    pInputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA,
    pOutputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA,
    Status: HRESULT,
}}
STRUCT!{struct D3D11_VIDEO_SAMPLE_DESC {
    Width: UINT,
    Height: UINT,
    Format: DXGI_FORMAT,
    ColorSpace: DXGI_COLOR_SPACE_TYPE,
}}
RIDL!{#[uuid(0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e)]
interface ID3D11VideoContext1(ID3D11VideoContext1Vtbl):
    ID3D11VideoContext(ID3D11VideoContextVtbl) {
    fn SubmitDecoderBuffers1(
        pDecoder: *mut ID3D11VideoDecoder,
        NumBuffers: UINT,
        pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1,
    ) -> HRESULT,
    fn GetDataForNewHardwareKey(
        pCryptoSession: *mut ID3D11CryptoSession,
        PrivateInputSize: UINT,
        pPrivateInputData: *const c_void,
        pPrivateOutputData: *mut UINT64,
    ) -> HRESULT,
    fn CheckCryptoSessionStatus(
        pCryptoSession: *mut ID3D11CryptoSession,
        pStatus: *mut D3D11_CRYPTO_SESSION_STATUS,
    ) -> HRESULT,
    fn DecoderEnableDownsampling(
        pDecoder: *mut ID3D11VideoDecoder,
        InputColorSpace: DXGI_COLOR_SPACE_TYPE,
        pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
        ReferenceFrameCount: UINT,
    ) -> HRESULT,
    fn DecoderUpdateDownsampling(
        pDecoder: *mut ID3D11VideoDecoder,
        pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
    ) -> HRESULT,
    fn VideoProcessorSetOutputColorSpace1(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        ColorSpace: DXGI_COLOR_SPACE_TYPE,
    ) -> (),
    fn VideoProcessorSetOutputShaderUsage(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        ShaderUsage: BOOL,
    ) -> (),
    fn VideoProcessorGetOutputColorSpace1(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        pColorSpace: *mut DXGI_COLOR_SPACE_TYPE,
    ) -> (),
    fn VideoProcessorGetOutputShaderUsage(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        pShaderUsage: *mut BOOL,
    ) -> (),
    fn VideoProcessorSetStreamColorSpace1(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        StreamIndex: UINT,
        ColorSpace: DXGI_COLOR_SPACE_TYPE,
    ) -> (),
    fn VideoProcessorSetStreamMirror(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        StreamIndex: UINT,
        Enable: BOOL,
        FlipHorizontal: BOOL,
        FlipVertical: BOOL,
    ) -> (),
    fn VideoProcessorGetStreamColorSpace1(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        StreamIndex: UINT,
        pColorSpace: *mut DXGI_COLOR_SPACE_TYPE,
    ) -> (),
    fn VideoProcessorGetStreamMirror(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        StreamIndex: UINT,
        pEnable: *mut BOOL,
        pFlipHorizontal: *mut BOOL,
        pFlipVertical: *mut BOOL,
    ) -> (),
    fn VideoProcessorGetBehaviorHints(
        pVideoProcessor: *mut ID3D11VideoProcessor,
        OutputWidth: UINT,
        OutputHeight: UINT,
        OutputFormat: DXGI_FORMAT,
        StreamCount: UINT,
        pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT,
        pBehaviorHints: *mut UINT,
    ) -> (),
}}
RIDL!{#[uuid(0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f)]
interface ID3D11VideoDevice1(ID3D11VideoDevice1Vtbl): ID3D11VideoDevice(ID3D11VideoDeviceVtbl) {
    fn GetCryptoSessionPrivateDataSize(
        pCryptoType: *const GUID,
        pDecoderProfile: *const GUID,
        pKeyExchangeType: *const GUID,
        pPrivateInputSize: *mut UINT,
        pPrivateOutputSize: *mut UINT,
    ) -> HRESULT,
    fn GetVideoDecoderCaps(
        pDecoderProfile: *const GUID,
        SampleWidth: UINT,
        SampleHeight: UINT,
        pFrameRate: *const DXGI_RATIONAL,
        BitRate: UINT,
        pCryptoType: *const GUID,
        pDecoderCaps: *mut UINT,
    ) -> HRESULT,
    fn CheckVideoDecoderDownsampling(
        pInputDesc: *const D3D11_VIDEO_DECODER_DESC,
        InputColorSpace: DXGI_COLOR_SPACE_TYPE,
        pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG,
        pFrameRate: *const DXGI_RATIONAL,
        pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
        pSupported: *mut BOOL,
        pRealTimeHint: *mut BOOL,
    ) -> HRESULT,
    fn RecommendVideoDecoderDownsampleParameters(
        pInputDesc: *const D3D11_VIDEO_DECODER_DESC,
        InputColorSpace: DXGI_COLOR_SPACE_TYPE,
        pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG,
        pRecommendedOutputDesc: *mut D3D11_VIDEO_SAMPLE_DESC,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1)]
interface ID3D11VideoProcessorEnumerator1(ID3D11VideoProcessorEnumerator1Vtbl):
    ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl) {
    fn CheckVideoProcessorFormatConversion(
        InputFormat: DXGI_FORMAT,
        InputCOlorSpace: DXGI_COLOR_SPACE_TYPE,
        OutputFormat: DXGI_FORMAT,
        OutputColorSpace: DXGI_COLOR_SPACE_TYPE,
        pSupported: *mut BOOL,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86)]
interface ID3D11Device1(ID3D11Device1Vtbl): ID3D11Device(ID3D11DeviceVtbl) {
    fn GetImmediateContext1(
        ppImmediateContext: *mut *mut ID3D11DeviceContext1,
    ) -> (),
    fn CreateDeferredContext1(
        ContextFlags: UINT,
        ppDeferredContext: *mut *mut ID3D11DeviceContext1,
    ) -> HRESULT,
    fn CreateBlendState(
        pBlendStateDesc: *const D3D11_BLEND_DESC1,
        ppBlendState: *mut *mut ID3D11BlendState1,
    ) -> HRESULT,
    fn CreateRasterizerState(
        pRasterizerDesc: *const D3D11_RASTERIZER_DESC1,
        ppRasterizerState: *mut *mut ID3D11RasterizerState1,
    ) -> HRESULT,
    fn CreateDeviceContextState(
        Flags: UINT,
        pFeatureLevels: *const D3D_FEATURE_LEVEL,
        FeatureLevels: UINT,
        SDKVersion: UINT,
        EmulatedInterface: REFIID,
        pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL,
        ppContextState: *mut *mut ID3DDeviceContextState,
    ) -> HRESULT,
    fn OpenSharedResource1(
        hResource: HANDLE,
        returnedInterface: REFIID,
        ppResource: *mut *mut c_void,
    ) -> HRESULT,
    fn OpenSharedResourceByName(
        Name: LPCWSTR,
        dwDesiredAccess: DWORD,
        returnedInterface: REFIID,
        ppResource: *mut *mut c_void,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab)]
interface ID3DUserDefinedAnnotation(ID3DUserDefinedAnnotationVtbl): IUnknown(IUnknownVtbl) {
    fn BeginEvent(
        Name: LPCWSTR,
    ) -> INT,
    fn EndEvent() -> INT,
    fn SetMarker(
        Name: LPCWSTR,
    ) -> (),
    fn GetStatus() -> BOOL,
}}

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge