Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IAMVideoProcAmp parameter type is 64bit? #71

Closed
oven425 opened this issue Feb 10, 2025 · 4 comments
Closed

IAMVideoProcAmp parameter type is 64bit? #71

oven425 opened this issue Feb 10, 2025 · 4 comments

Comments

@oven425
Copy link

oven425 commented Feb 10, 2025

According to IAMVideoProcAmp
long type maybe 32 bit not c# long type?

@smourier
Copy link
Owner

long in C/C++is generally (and certainly in Windows SDK header files) considered as a 32-bit integer, so it's equivalent to C# int (.NET System.Int32)

@oven425
Copy link
Author

oven425 commented Feb 12, 2025

Sorry, I gave the wrong example.
this GetRange has c++ long type,
long type maybe change to int type below code

[ComImport]
[Guid("c6e13360-30ac-11d0-a18c-00a0c9118956")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IAMVideoProcAmp
{
    [PreserveSig]
    HRESULT GetRange(int Property, out long pMin, out long pMax, out long pSteppingDelta, out long pDefault, out long pCapsFlags);

    [PreserveSig]
    HRESULT Set(int Property, int lValue, int Flags);

    [PreserveSig]
    HRESULT Get(int Property, out long lValue, out long Flags);
}

@smourier
Copy link
Owner

Same answer, long C++ is int C# so there's nothing to change.

@smourier
Copy link
Owner

Close due to inactivity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants